public HttpResponseMessage setFileException(int id, int reasonid, string reason) { try { int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); var wkflow = _IWkflowinstanceService.GetWkflowinstance(id); var batchProcessingWorkflow = _IWkflowdefService.GetWkflowdefs().Where(p => p.Code == "FPW").FirstOrDefault(); var statusID = batchProcessingWorkflow.WkflowDefWkflowStats.Where(p => p.WkflowStat.Code == "EXCP").FirstOrDefault().WkflowStatId; wkflow.CurrWkflowStatId = statusID; var ccare = wkflow.Org.OrgUsers.Where(p => p.Type == "CustomerCare"); if (ccare.Count() > 0) { wkflow.CCUserId = ccare.FirstOrDefault().UserId; } var wkflowHist = new WkflowStepHist { CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowStatId = statusID, WkflowStatReasId = reasonid, CreatedUserId = userID }; wkflowHist.WkflowStepNotes.Add(new WkflowStepNote() { WkflowStepHist = wkflowHist, CreatedDate = DateTime.UtcNow, NoteText = reason, Order = 1 }); wkflow.WkflowStepHists.Add(wkflowHist); _IWkflowinstanceService.UpdateWkflowinstance(wkflow); } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); }
public HttpResponseMessage Update(SupportActivityDTO requestInfo) { try { int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); 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); var supportWkflowInstance = _IWkflowinstanceService.GetWkflowinstance((int)requestInfo.Id); if (supportWkflowInstance.CCUserId != requestInfo.CCUserId) { supportWkflowInstance.CCUserId = requestInfo.CCUserId; } if (supportWkflowInstance.Priority != requestInfo.Priority) { supportWkflowInstance.Priority = requestInfo.Priority; } supportWkflowInstance.DateLastMaint = DateTime.UtcNow; if (requestInfo.NextStepId != null) { supportWkflowInstance.CurrWkflowStatId = (int)requestInfo.NextStepId; var hist = new WkflowStepHist { CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowStatId = (int)requestInfo.NextStepId, CreatedUserId = userID, WkflowStatReasId = requestInfo.ReasonId }; if (requestInfo.NewMessage != null && requestInfo.NewMessage != "") { hist.WkflowStepNotes.Add(new WkflowStepNote() { CreatedDate = DateTime.UtcNow, NoteText = requestInfo.NewMessage }); } if (requestInfo.Resolution != null && requestInfo.Resolution != "") { hist.WkflowStepNotes.Add(new WkflowStepNote() { CreatedDate = DateTime.UtcNow, NoteText = requestInfo.Resolution }); } supportWkflowInstance.WkflowStepHists.Add(hist); } _IWkflowinstanceService.UpdateWkflowinstance(supportWkflowInstance); return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } }
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 Create(SupportActivityDTO requestInfo) { try { var supportRequestWorkflow = _IWkflowdefService.GetWkflowdefs().Find(p => p.Code == "SRW"); int userID = int.Parse(Request.Headers.GetValues("userId").FirstOrDefault()); //var createdstatusID = supportRequestWorkflow.WkflowDefWkflowStats.Where(p => p.WkflowStat.Code.Contains("Created")).FirstOrDefault().WkflowStatId; var ccstatusID = supportRequestWorkflow.WkflowDefWkflowStats.Where(p => p.WkflowStat.Code.Contains("Assigned to CustomerCare")).FirstOrDefault().WkflowStatId; var cstatusID = supportRequestWorkflow.WkflowDefWkflowStats.Where(p => p.WkflowStat.Code.Contains("Assigned to Customer")).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 statusID = 0; var org = _IOrgService.GetOrg((int)orgid); if (org.OrgTyp.TypCd == "TENA") { statusID = cstatusID; } else { statusID = ccstatusID; } int?ccuserid = org.OrgUsers.Where(p => p.Type == "CustomerCare").Count() > 0 ? (int?)org.OrgUsers.Where(p => p.Type == "CustomerCare").FirstOrDefault().UserId : null; // Create a new batch processing workflow var supportWkflowInstance = new WkflowInstance { CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowDefId = supportRequestWorkflow.Id, OrgId = orgid, UserId = userID, CurrWkflowStatId = statusID, Summary = requestInfo.Summary, Priority = requestInfo.Priority, CCUserId = ccuserid }; var hist = new WkflowStepHist { CreateDate = DateTime.UtcNow, DateLastMaint = DateTime.UtcNow, WkflowStatId = statusID, CreatedUserId = userID, WkflowStatReasId = requestInfo.ReasonId }; hist.WkflowStepNotes.Add(new WkflowStepNote() { CreatedDate = DateTime.UtcNow, NoteText = requestInfo.NewMessage }); supportWkflowInstance.WkflowStepHists.Add(hist); _IWkflowinstanceService.AddWkflowinstance(supportWkflowInstance); return(Request.CreateResponse <bool>(HttpStatusCode.OK, true)); } catch (Exception e) { throw new HttpResponseException(HttpStatusCode.NotFound); } }