In the Solutions and Service space of Project execution and development, ETG has
designed and implemented various Greenfield Solutions for Clients across the Globe.
We have a strong Management and Technology team of Industry experts to lead and
drive various Management and Technology solutions catering to various Industry Verticals.
We have executed various projects for our clients in Capital Market, Gaming Industry,
Hotel Industry and Portal Solutions in India, USA and UK. Being a hard core Technology
Organization we have built a home grown development framework using advanced Technology
as a robust Development and Integration Solution. ETG provides end-to-end customized
Software Solutions and Services - Business process and Application Architecture,
User Interface, External Interface, Reports and Database design, Development, Integration
and Implementation across Technology Platforms.
Our Solution theme is in providing end-to-end high Quality, Cost-effective and Timely
Solutions to our Clients Business worldwide. We provide complete Business solutions
that leverage deep Industry Process, functional and technology expertise. With our
Global outsourcing and development program added with our Core solutions, we help
our Business Partners and Clients transform their Business Process and Technology
implementation to a more Cost-effective, Scalable, Robust, Efficient and Performance
driven model.
In today's fast moving business world fulfilling Client expectation is a big challenge,
especially when the business need and system keeps on changing frequently. We have
a deep understanding on this continuous change management practice in today’s business
and have modelled our architecture, design and development standards and practice
to accommodate all these variability factors and have minimal impact to any future
change. We understand where most organizations get stuck in operation to incur additional
cost to quickly come up with effective and just-in demand solutions in speeding
up and harmonizing operation.
With our rich experience in Project Management, Solutions and Software Development
Life-Cycle we have come up with unique methodologies and standards for Requirements,
Architecture, Design, Development, Integration, Configuration, Testing, Deployment
& Implementation, Release Management. Coupled with our development framework and
practice we have various re-useable packages, assemblies and components providing
extreme software engineering techniques which are very efficient and effective in
ensuring lesser development cycle, lower cost and predictable quality output.
Tech Talk :
This is an example of scheduling a sql job with a store procedure, also writing a cursor with in a store procedure.
alter procedure uspInitiateAdmission
As
BEGIN
declare @QueryId bigint, @StudentId bigint, @PaymentId bigint,
@RequestStatus int , @PaymentStatus int
declare curTemp cursor for
/*
fetch data based on your query and where clause
*/
SELECT t2.StudentRequestId, t2.RequestStatus, t2.RequestStatus
FROM tbStudentPayment t1 right outer JOIN tbSchoolManagementBoard t2
ON t1.QueryId = t2.StudentRequestId
where t2.RequestStatus <> 4 and
DATEADD(dd, 3, t2.RequestDateTime) >= GETDATE() and
t2.StudentRequestId not in (select QueryId from tbStudentPayment)
Open curTemp
fetch next from curTemp into @QueryId, @PaymentStatus, @RequestStatus
while @@FETCH_STATUS =0
begin
INSERT INTO [tbStudentPayment]
([QueryId]
,[StudentId]
,[PaymentId]
,[ActionDate]
,[Status])
VALUES
(@QueryId
,@StudentId
,1
,GETDATE()
,'Admission Request')
END
Close curTemp
Deallocate curTemp
END
here i am sharing an example of populating child dropdownlist when changing some value parent dropdownlist
Step 1:
Write two dropdownlist country and state
@Html.DropDownListFor(m => m.CountryId,
new SelectList(ViewBag.Countries, "Value", "Text"),
"Select Country", new { data_url = Url.Action("GetStates") })
@Html.DropDownListFor(m => m.StateId,
new SelectList(ViewBag.States, "Value", "Text"),
"Select State")
Step 2:
Write a method in controller which will return JsonResult of states, so that can be consumed using jquery , and populate the state list
public JsonResult GetStates(int countryId)
{
IEnumerable< tbState > states = _SecurityService.GetStates(countryId);
return Json(states, JsonRequestBehavior.AllowGet);
}
Step : 3
now lets look at the script, where we get the JSON result and populate the state dropdownlist
< script src="~/Scripts/jquery-1.7.1.min.js" >< /script >
< script >
$(document).ready(function () {
$('#CountryId').change(function () {
var url = $(this).data('url');
var data = { countryId: $(this).val() };
$.getJSON(url, data, function (GetStates) {
var ddlState = $('#StateId');
ddlState.empty();
ddlState.append($('< option/ >', {
value: 0,
text: "Select State"
}));
$.each(GetStates, function (index, StateObj) {
ddlState.append($('< option/ >', {
value: StateObj.StateId,
text: StateObj.State
}));
});
});
});
});
< /script >
My friend asked me how to set httpContext.User.Identity.Name, because he was getting the object is null, so to answer his questing i have shared the this piece of implementation, and sharing the same on this article.
Step 1 :
In your authentication method make sure you have added FormsAuthentication.SetAuthCookie , which actually set the httpContext.User object, the following code shows how easily you can do that.
tbAdminUser adminUser = _AdminAcctService.Authenticate(model.UserName, model.Password);
if (adminUser != null)
{
Session["AdminUser"] = adminUser;
FormsAuthentication.SetAuthCookie(model.UserName, true);
return RedirectToAction("Index", "JewelAdmin");
}
else
ViewBag.ErrorMessage = "Username or password is incorrect";
Step 2:
Now before performing any task, to check if the user is authenticated or not you can check
httpContext.User.Identity.IsAuthenticated or if (httpContext.User.Identity.Name == null)
Step 3:
While logging out, make sure you have set the following line in your logout method
FormsAuthentication.SignOut(); this will clear off the cookie which was been set by SetAuthCookie, so the User Name will become null in your HttpContext object.
Namespace required using System.Web.Security;
Here i am sharing an example of creating a custom AuthorizeAttribute in mvc4 application, and its implementation.
Step 1 :
Create a class
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class AuthorizeAdminAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
isAuthorized = false;
}
if (httpContext.User.Identity.Name == null)
isAuthorized = false;
else
isAuthorized = true;
return isAuthorized;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
base.HandleUnauthorizedRequest(filterContext);
filterContext.Result = new RedirectToRouteResult(new
RouteValueDictionary(new { controller = "AdminAccount", action = "Index" }));
}
else
{
filterContext.Result = new RedirectToRouteResult(new
RouteValueDictionary(new { controller = "JewelAdmin", action = "Index" }));
}
}
}
Step 2:
Now we see how to call the authorize attribute in action
[AuthorizeAdminAuthorize]
public ActionResult AddProduct()
{
return View();
}
So, now in whichever action you want authorization to be checked , just put [AuthorizeAdminAuthorize] attribute on top of that ActionResult
|
|
.NET and Web Development
|
|
On the environment side, there are many enhancements to the architecture and a host
of new features that better facilitate development, deployment and maintenance.
Lets look at the key area of .net for web development.
|
|
Asp.Net
|
|
More or less we all know about asp.net and the development is made by the technology.
Here we talk about few key features of asp.net, and the smart use of asp.net, where
it bridges with any other technology to deliver a world class web application.
Some of the asp.net key features:
|
Ado.Net
|
What's new with ADO.net 2.0 ! why we should talk about this ? where does this
make difference ?? Here I would try to talk about something really interesting
i have felt about ado 2.0 from my experience.
Here are the key new features of ado.net 2.0
- Bulk Copy Operation
- Batch Update
- Data Paging
- DataSet.RemotingFormat Property
- DataTable's Load and Save Methods
|
|
.Net Remoting
|
Why Remoting ?? when web service is more wider and can carry out any operation that
remoting can ... is a very common question that a IT consultant has to face while
handeling a client.
Here we talk about when to use remoting, when its more useful and efficient than
.net webservice.
|
|
.Net WebService
|
|
We are already familier with webservice, here we talk about webservice security,
SOAP, WSDL, UDDI, Security, Management how to deal with complex object, and transaction
over webservice.
|
Service-oriented Architecture
|
|
Design, Implementation, Governance, Best Practices
|
Enterprise Service Business/Integration
4.0
|
|
Each block is more optimized, lets look at the implementation features of each block.
|
|
|