public HttpResponseMessage ResellerUsers(int org_Id) { //Reseller OrgID var resellerusers = _IOrgService.GetOrg(org_Id).OrgUsers.Where(q => q.Type == "Primary" || q.Type == null).Select(p => new { id = p.UserId, name = p.User.Per.LastName + ", " + p.User.Per.FirstName }); return(Request.CreateResponse(HttpStatusCode.OK, resellerusers)); }
public HttpResponseMessage CustomerCurrentMonthVolume() { var resellerId = int.Parse(Request.Headers.GetValues("orgId").FirstOrDefault()); var finalwork = _OrgService.GetOrg(resellerId).OrgOrgs.Select(s => new { Id = s.Org1.Id, Name = s.Org1.Name, Commitment = s.Org1.WkflowInstances.Where(w => w.WkflowDef.Code == "SOW").Count() > 0 ? s.Org1.WkflowInstances.Where(w => w.WkflowDef.Code == "SOW").FirstOrDefault().SowWkflows.Where(so => so.InactiveDate == null).FirstOrDefault().MonthlyCommitment : 0, Revenue = GetRevenue(s.Org1) }); if (finalwork == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(Request.CreateResponse <IEnumerable <object> >(HttpStatusCode.OK, finalwork)); }
public HttpResponseMessage OrgList() { List <dynamic> orgs = new List <dynamic>(); int org_id = int.Parse(Request.Headers.GetValues("orgId").FirstOrDefault()); if (org_id == 1) { orgs.AddRange(_IOrgService.GetOrgs().Where(o => o.Id != 1).Select(p => new { Id = p.Id, Name = p.Name }).ToList()); } else { var reseller = _IOrgService.GetOrg(org_id); orgs.Add(new { Id = reseller.Id, Name = reseller.Name }); orgs.AddRange(_IOrgorgService.GetOrgorgs().Where(o => o.OrgId == org_id).Select(p => new { Id = p.Org1.Id, Name = p.Org1.Name })); } return(Request.CreateResponse(HttpStatusCode.OK, orgs)); }
public HttpResponseMessage Invite(InviteRequestInfo customer) { try { if (customer.ParentId == null) { customer.ParentId = 1; } int?org_id = int.Parse(Request.Headers.GetValues("orgId").FirstOrDefault()); var user = _IUserService.GetUsers().Where(p => p.UserName == customer.Email); if (user.Count() > 0) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Customer Email already exists in our system")); } int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); var excustomer = _IOrgService.GetOrgs().Where(p => p.Name == customer.Name); var curDateTime = DateTime.UtcNow; if (excustomer.Count() <= 0) { OrgTyp custType; if (customer.TypeId == 6) { custType = _IOrgtypService.GetOrgtyps().Where(p => p.TypCd == "CUST").FirstOrDefault(); } else { custType = _IOrgtypService.GetOrgtyps().Where(p => p.TypCd == "RESE").FirstOrDefault(); } var cguid = Guid.NewGuid(); Org newOrg = new Org { Name = customer.Name, CreateDate = DateTime.UtcNow, CreatedUserId = userID, ModifiedDate = DateTime.UtcNow, ModifiedUserId = userID, InviteDate = DateTime.UtcNow, OrgTypId = custType.Id, soKey = cguid, }; var parentOrg = _IOrgService.GetOrg(customer.ParentId); if (customer.TypeId == 6) { OrgCust newCustomer = new OrgCust() { Org = newOrg, }; _IOrgcustService.AddOrgcust(newCustomer); } else { OrgReseller newReseller = new OrgReseller() { Org = newOrg, }; _IOrgresellerService.AddOrgreseller(newReseller); } _IOrgorgService.AddOrgorg(new OrgOrg() { Org = parentOrg, AssociatedOrgId = newOrg.Id }); var orgTypeStatus = _IOrgtyporgstatusService.GetOrgtyporgstatus().Where(p => p.OrgTyp.TypCd == "CUST" && p.OrgStatus.StatusCd == "INVITED").FirstOrDefault(); newOrg.OrgStatusHists.Add(new OrgStatusHist() { Org = newOrg, OrgTypOrgStatu = orgTypeStatus, CreateDate = DateTime.UtcNow }); var guid = Guid.NewGuid(); var newuser = new User() { UserName = customer.Email, Password = "", Per = new Per() { FirstName = "", LastName = "", MiddleName = "", Createdate = curDateTime }, CreateDate = curDateTime, IsProcess = false, soKey = guid, CreateUserId = userID, InviteDate = curDateTime, IsSuperAdmin = false }; var authrole = _IAuthrolService.GetAuthrols().Where(p => p.Name == "Customer Admin").FirstOrDefault(); newuser.UserAuthRols.Add(new UserAuthRol() { User = newuser, AuthRol = authrole }); newuser.PortUsers.Add(new PortUser() { User = newuser, PortId = 1 }); newuser.OrgUsers.Add(new OrgUser() { User = newuser, Org = newOrg, Type = "Primary" }); var Singupmessagetemp = _IMessagetemplateService.GetMessagetemplates().Where(p => p.Name == "Signup").FirstOrDefault(); var messagetemp = _IMessagetemplateService.GetMessagetemplates().Where(p => p.Name == "InviteUser").FirstOrDefault(); var baseUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority); string Singupurl; if (customer.TypeId == 6) { Singupurl = baseUrl + "/cust/" + cguid.ToString() + "/signup"; } else { Singupurl = baseUrl + "/resel/" + cguid.ToString() + "/signup"; } if (Singupmessagetemp != null) { newuser.MessageUsers.Add(new MessageUser() { User = newuser, DeliveryMethodId = 1, Message = new Message() { CreateDate = curDateTime, HeaderText = Singupmessagetemp.HeaderText, MessageBody = string.Format(Singupmessagetemp.TemplateText, Singupurl) } }); } _IUserService.AddUser(newuser); } else { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Customer Name already exists in our system")); } } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); }
public HttpResponseMessage Create(SOWDTO requestInfo) { try { var SOWWorkflow = _IWkflowdefService.GetWkflowdefs().Find(p => p.Code == "SOW"); int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); var CreatedstatusID = SOWWorkflow.WkflowDefWkflowStats.Where(p => p.WkflowStat.Code.Contains("Created")).FirstOrDefault().WkflowStatId; int?orgid; if (requestInfo.OrgId != null) { orgid = requestInfo.OrgId; } else { orgid = _IUserService.GetUser(userID).OrgUsers.Where(p => p.Type == null || p.Type.Contains("Primary")).FirstOrDefault().OrgId; } var org = _IOrgService.GetOrg((int)orgid); int?ccuserid = org.OrgUsers.Where(p => p.Type == "CustomerCare").Count() > 0 ? (int?)org.OrgUsers.Where(p => p.Type == "CustomerCare").FirstOrDefault().UserId : null; var WKflow = new WkflowInstance() { Org = org, CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowDef = SOWWorkflow, UserId = userID, CurrWkflowStatId = CreatedstatusID, CCUserId = ccuserid }; var hist = new WkflowStepHist { CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowStatId = CreatedstatusID, CreatedUserId = userID }; var sowWkflow = new SowWkflow { WkflowInstance = WKflow, ProjectName = requestInfo.ProjectName, Amend = 0, EffectiveDate = DateTime.UtcNow, LastReviewDate = DateTime.UtcNow, NextReviewDate = DateTime.UtcNow.AddMonths(6), MonthlyCommitment = requestInfo.Commitment }; foreach (var attrib in requestInfo.Attribs) { //var newatt = new SowWklowSowAttribute() { SowAttributeId = attrib.Id, SowWkflow = sowWkflow }; //newatt.SowAttributeValueHists.Add(new SowAttributeValueHist() { SowWklowSowAttribute = newatt, EffectiveDate = DateTime.UtcNow, SowAttributeId = attrib.Id, Qty = attrib.Qty, UnitPrice = attrib.UnitPrice, ExtendedPrice = attrib.ExtendedPrice }); //sowWkflow.SowWklowSowAttributes.Add(newatt); var newatt = new SowWklowSowAttribute() { SowAttributeId = attrib.Id, SowWkflow = sowWkflow }; newatt.SowAttributeValueHists.Add(new SowAttributeValueHist() { SowWklowSowAttribute = newatt, EffectiveDate = DateTime.UtcNow, Qty = attrib.Qty, UnitPrice = attrib.UnitPrice, ExtendedPrice = attrib.ExtendedPrice }); sowWkflow.SowWklowSowAttributes.Add(newatt); } foreach (var docSetup in requestInfo.DocSetups) { sowWkflow.SowWkflowDocSetups.Add(new SowWkflowDocSetup() { DocumentName = docSetup.Name, SowWkflow = sowWkflow, NoIndexes = docSetup.NoIndexes, NoDataFields = docSetup.NoDataFields, SLA = docSetup.SLA, Volume = docSetup.CommitVolume, ListPrice = docSetup.UnitPrice }); } if (requestInfo.RebateOverride) { var reseller = org.OrgOrgs1.FirstOrDefault().Org.OrgReseller; sowWkflow.SOWWkflowOrgResellerDiscOverrides.Add(new SOWWkflowOrgResellerDiscOverride { Discount = requestInfo.ResellerRebate, EffectiveDate = DateTime.UtcNow, SowWkflow = sowWkflow, OrgReseller = reseller }); } WKflow.SowWkflows.Add(sowWkflow); WKflow.WkflowStepHists.Add(hist); _IWkflowinstanceService.AddWkflowinstance(WKflow); return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } }
public HttpResponseMessage Invite(UserDTO userDTO) { try { var user = _IUserService.GetUsers().Where(p => p.UserName == userDTO.userName); if (user.Count() <= 0) { int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); var curDateTime = DateTime.UtcNow; var guid = Guid.NewGuid(); var newuser = new User() { UserName = userDTO.userName, Password = "", Per = new Per() { FirstName = userDTO.firstName, LastName = userDTO.lastName, MiddleName = userDTO.middleName, Createdate = curDateTime }, CreateDate = curDateTime, IsProcess = false, soKey = guid, CreateUserId = userID, InviteDate = curDateTime, IsSuperAdmin = false }; var org = _IOrgService.GetOrg(userDTO.orgId); AuthRol authrole; if (org.OrgTyp.TypCd == "TENA") { authrole = _IAuthrolService.GetAuthrol(2); } else if (org.OrgTyp.TypCd == "RESE") { authrole = _IAuthrolService.GetAuthrol(4); } else { authrole = _IAuthrolService.GetAuthrol(3); } newuser.UserAuthRols.Add(new UserAuthRol() { User = newuser, AuthRol = authrole }); newuser.PortUsers.Add(new PortUser() { User = newuser, PortId = 1 }); newuser.OrgUsers.Add(new OrgUser() { User = newuser, Org = org }); var messagetemp = _IMessagetemplateService.GetMessagetemplates().Where(p => p.Name == "InviteUser").FirstOrDefault(); var baseUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority); var url = baseUrl + "/user/" + guid.ToString() + "/signup"; if (messagetemp != null) { newuser.MessageUsers.Add(new MessageUser() { User = newuser, DeliveryMethodId = 1, Message = new Message() { CreateDate = curDateTime, HeaderText = messagetemp.HeaderText, MessageBody = string.Format(messagetemp.TemplateText, url) } }); } _IUserService.AddUser(newuser); } else { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "UserName Needs to be Unique")); } } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); }