コード例 #1
0
        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));
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }