コード例 #1
0
 protected void AssignViewJobLookupListsFuncs(EditPrdnJobViewModel viewJob)
 {
     viewJob.CustListFunc = GetCustomerList;
     viewJob.CustLocsFunc = GetCustLocationSelList;
     viewJob.ShipCodesFunc = GetShipCodes;
     viewJob.JobPrioritiesFunc = GetJobPriorities;
 }
コード例 #2
0
        protected void LoadEditJobViewModel(EditPrdnJobViewModel model, int id, string urlReturn)
        {
            var job = (from j in PrdnDBContext.ProductionJobs
                       .Include("Run").Include("Product").Include("Request").Include("Priority").Include("PrdnInvItem")
                       .Include("CreatedUser").Include("ScheduledUser").Include("ProcessedUser").Include("CompletedUser").Include("CanceledUser")
                       where j.ID == id
                       select j).FirstOrDefault();

            if (job != null)
            {
                Mapper.Map<ProductionJob, EditPrdnJobViewModel>(job, model);

                if (job.IsNotNull(j => j.PrdnInvItem)) { }

                model.UrlReturn = urlReturn;

                model.loadFromRun(job.Run);

                LoadViewJobProdLists(model, job);

                WorksheetEditViewModel.LoadViewJobEditWorksheet(model, job);

                overrideViewJobProdOpts(model);
            }
            else
            {
                model = null;
            }
        }
コード例 #3
0
        protected void PrintJobViewItemLabel(IPrinterInfo printerInfo, EditPrdnJobViewModel viewJob, ProductionJob job = null)
        {
            if ((viewJob.PrdnTypeCode == null) && (job.IfNotNull(j => j.Run) != null))
            {
                viewJob.loadFromRun(job.Run);
            }
            if ((viewJob.WorksheetID != null) && (viewJob.EditWorksheet == null))
            {
                WorksheetEditViewModel.LoadViewJobEditWorksheet(viewJob, job);
            }

            PrdnZplMultiParam parm = new PrdnZplMultiParam(viewJob);
            ZplPrinterHelper.NetworkMultiZpl(printerInfo.PrinterHostName, (int)printerInfo.PrinterPort, parm);
        }
コード例 #4
0
        protected void UpdateJobWorksheet(ProductionJob editJob, EditPrdnJobViewModel viewJob)
        {
            bool anyWSRows = viewJob.NotNullAny(n => n.IfNotNull(x => x.EditWorksheet).IfNotNull(x => x.WorksheetOpts));

            Worksheet worksheet = editJob.Worksheet;
            if (worksheet != null) // clear the existing worksheet chars and comps
            {
                PrdnDBContext.ExecuteStoreCommand("DELETE FROM FG_WORKSHEET_CHAR WHERE FG_WORKSHEET_ID = :p0", worksheet.ID);
                PrdnDBContext.ExecuteStoreCommand("DELETE FROM FG_WORKSHEET_COMP WHERE FG_PARENT_COMP_PROD_CD IS NOT NULL AND FG_WORKSHEET_ID = :p0", worksheet.ID);
                PrdnDBContext.ExecuteStoreCommand("DELETE FROM FG_WORKSHEET_COMP WHERE FG_WORKSHEET_ID = :p0", worksheet.ID);

                if (anyWSRows)
                {
                    editJob.AssignWorksheet(worksheet);
                }
                else
                {
                    PrdnDBContext.DeleteObject(worksheet);
                }

            }
            else if (anyWSRows)
            {
                worksheet = new Worksheet { ID = PrdnIsisEntities.GetNextWorksheetID() };
                editJob.AssignWorksheet(worksheet);
            }

            if (anyWSRows)
            {
                viewJob.EditWorksheet.WorksheetOpts.ForEach(o => o.AssignTypeProps());

                foreach (var opt in viewJob.EditWorksheet.WorksheetOpts.Where(o => (o.Type == OptionType.Component) && o.IsRoot))
                {
                    WorksheetComp comp = Mapper.Map<WorksheetOpt, WorksheetComp>(opt);
                    worksheet.WorksheetComps.Add(comp);
                }
                foreach (var opt in viewJob.EditWorksheet.WorksheetOpts.Where(o => (o.Type == OptionType.Component) && !o.IsRoot))
                {
                    WorksheetComp comp = Mapper.Map<WorksheetOpt, WorksheetComp>(opt);
                    worksheet.WorksheetComps.Add(comp);
                }
                foreach (var opt in viewJob.EditWorksheet.WorksheetOpts.Where(o => o.Type == OptionType.Characteristic))
                {
                    WorksheetChar chr = Mapper.Map<WorksheetOpt, WorksheetChar>(opt);
                    worksheet.WorksheetChars.Add(chr);
                }
            }
        }
コード例 #5
0
 protected void loadViewJobForPost(EditPrdnJobViewModel viewJob)
 {
     LoadViewJobProdLists(viewJob);
     AssignViewJobLookupListsFuncs(viewJob);
     if (viewJob.IsNotNull(j => j.EditWorksheet))
     {
         string modKey = viewJob.FullPropertyName(m => m.EditWorksheet.Editable);
         ModelState.Remove(modKey);
         viewJob.EditWorksheet.Editable = false;
     }
     ProcessAttacherForPost(viewJob.Attacher);
 }
コード例 #6
0
 public static void LoadViewJobEditWorksheet(EditPrdnJobViewModel viewJob, ProductionJob job)
 {
     if (job.IsNotNull(j => j.Worksheet))
     {
         viewJob.EditWorksheet = new WorksheetEditViewModel(job.Product.IfNotNull(j => j.ProdTypeCD), job.Worksheet);
     }
     else
     {
         if (viewJob.WorksheetID != null)
         {
             viewJob.EditWorksheet = new WorksheetEditViewModel(job.Product.IfNotNull(j => j.ProdTypeCD), viewJob.WorksheetID);
         }
         else
         {
             viewJob.EditWorksheet = new WorksheetEditViewModel(job.Product.IfNotNull(j => j.ProdTypeCD));
         }
     }
     viewJob.EditWorksheet.Editable = false;
 }
コード例 #7
0
 protected void overrideViewJobProdOpts(EditPrdnJobViewModel viewJob)
 {
     if ((viewJob.NotNullAny(j => j.ProdOptions)) && (viewJob.NotNullAny(j => j.IfNotNull(x => x.EditWorksheet).IfNotNull(e => e.WorksheetOpts))))
     {
         foreach (var wOpt in viewJob.EditWorksheet.WorksheetOpts)
         {
             foreach (var pOpt in viewJob.ProdOptions.Where(o => !o.Overriden && o.OverrideMatch(wOpt)))
             {
                 pOpt.Overriden = true;
             }
         }
     };
 }
コード例 #8
0
        protected void loadViewJobViewAttachments(EditPrdnJobViewModel viewJob, string groups)
        {
            viewJob.Attacher = new FileAttacher();
            viewJob.Attacher.Groups = groups;
            if (viewJob.ID != null)
            {
                List<ExtantFileInfo> edit = new List<ExtantFileInfo>();
                List<ExtantFileInfo> view = new List<ExtantFileInfo>();

                List<ExtantFileInfo> allExtant = ExtantAttachments(viewJob.ID);
                string[] groupArr = groups.Split(',');
                foreach (var item in allExtant)
                {
                    if (groupArr.Contains(item.GroupCD)) { edit.Add(item); } else { view.Add(item); }
                }
                if (edit.Count() > 0)
                {
                    viewJob.Attacher.ExtantFiles = edit;
                }
                if (view.Count() > 0)
                {
                    viewJob.Attacher.ViewFiles = view;
                }
            }
            viewJob.Attacher.AttTypesFunc = GetAttTypes;
            viewJob.Attacher.RecordCounts();
        }
コード例 #9
0
 protected void AssignCustSpecific(EditPrdnJobViewModel viewJob)
 {
     if (viewJob.CustID == PrdnDataHelper.PrdnCustIDCST)
     {
         AssignCstpecific(viewJob);
     }
 }
コード例 #10
0
        protected void AssignCstpecific(EditPrdnJobViewModel viewJob)
        {
            viewJob.OrderTotal = 0;
            if (!String.IsNullOrEmpty(viewJob.OrderNo))
            {
                if (viewJob.OrderLineID == null)
                {
                    viewJob.OrderTotal = PrdnDBContext.GetCstOrdTotal(viewJob.OrderNo) ?? 0;
                }
                else
                {
                    var lnQry = from l in PrdnDBContext.CstOrderLines
                                where l.OrderLineID == viewJob.OrderLineID
                                select new
                                {
                                    l.OrderNo,
                                    l.OrderLine,
                                    l.OrderLineID,
                                    l.ProdCD
                                };

                    var ordInfo = (from o in PrdnDBContext.CstOrders
                                   where o.OrderNo == viewJob.OrderNo
                                   join l in lnQry on o.OrderNo equals l.OrderNo into temp
                                   from ln in temp.DefaultIfEmpty()
                                   select new
                                   {
                                       o.OrderNo,
                                       OrderTot = o.OrderLines.Sum(l => l.LineTotal) + (o.Tax ?? 0) + (o.Transport ?? 0) + (o.Shipping ?? 0),
                                       line = ln
                                   }).FirstOrDefault();

                    if (ordInfo != null)
                    {
                        viewJob.OrderTotal = ordInfo.OrderTot;
                        viewJob.OrderLine = ordInfo.line.IfNotNull(l => l.OrderLine);
                    }
                }
            }
        }
コード例 #11
0
        protected void AddExtraJobsForQty(EditPrdnJobViewModel newViewJob, ProductionJob job)
        {
            AddPrdnJobViewModel addedViewJob = newViewJob as AddPrdnJobViewModel;
            if (addedViewJob.IfNotNull(j => j.Qty) > 1)
            {
                CopyJob(job, addedViewJob.Qty-1);

                PrdnDBContext.SaveChanges();
            }
        }
コード例 #12
0
        public ActionResult Edit(EditPrdnJobViewModel editViewJob, IEnumerable<HttpPostedFileBase> uploadedFiles)
        {
            ProcessAttacherForSave(editViewJob.Attacher, uploadedFiles);

            ProductionJob editJob = (from j in PrdnDBContext.ProductionJobs.Include("PrdnInvItem")
                                     where j.ID == editViewJob.ID
                                     select j).FirstOrDefault();

            if (editJob == null)
            {
                return ErrMsgView(SystemExtensions.Sentence("Error Saving Job: ", LocalStr.JobID, editViewJob.IfNotNull(j => j.ID).ToString(), LocalStr.verbIsNot, LocalStr.valid));
            }

            if (editViewJob.EditStatus == PrdnJobStatus.New)
            {
                editViewJob.EditStatus = editJob.Status;
            }
            else
            if ((editJob.Status != editViewJob.EditStatus) && (!EditPrdnJobViewModel.FromStatusTo(editJob.Status, editViewJob.EditStatus)))
            {
                ModelState.AddModelError(editViewJob.FullPropertyName(j => j.EditStatus),
                    SystemExtensions.Sentence(LocalStr.Status, LocalStr.Change, LocalStr.to, editViewJob.EditStatus.Description(),
                    LocalStr.verbIsNot, LocalStr.valid));
            }

            JobModelValidate(editViewJob);

            if (ModelState.IsValid)
            {
                if (editJob.IsNotNull(j => j.PrdnInvItem))
                {
                    return ErrMsgView(SystemExtensions.Sentence("Error Saving Job: ", editJob.PrdnInvItem.SerialNo, " exists in inventory."));
                }
                EnsurePrdnDBContextOpen();
                using (var transaction = PrdnDBContext.Connection.BeginTransaction())
                {
                    try
                    {
                        Mapper.Map<EditPrdnJobViewModel, ProductionJob>(editViewJob, editJob);

                        if (editJob.Status != editViewJob.EditStatus)
                        {
                            editJob.UpdateStatus((PrdnJobStatus)editViewJob.EditStatus, GetCurrentUserID());
                        }

                        UpdateJobWorksheet(editJob, editViewJob);
                        UpdateJobAttachments(editJob, editViewJob.Attacher);
                        PrdnDBContext.SaveChanges();

                        if ((editViewJob.EditRunSeqNo != null) && (editJob.RunSeqNo != editViewJob.EditRunSeqNo))
                        {
                            InsertRunSeqs(PrdnDBContext, editJob, (int)editViewJob.EditRunSeqNo);
                            ReSequenceRun(editJob.RunID);
                            PrdnDBContext.SaveChanges();
                        }

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        return ErrMsgView("Error Saving Job: " + ex.Message);
                    }
                }

                return RedirectIfLocal(editViewJob.UrlReturn,
                    () => RedirectToAction(actionName: "Jobs", controllerName: "Schedule", routeValues: new { id = editViewJob.RunID }));
                //if (this.IsLocalUrl(editViewJob.UrlReturn)) { return Redirect(editViewJob.UrlReturn);} else {return RedirectToAction(actionName: "Jobs", controllerName: "Schedule", routeValues: new { RunID = editViewJob.RunID });}
            }
            else
            {
                //assignViewJobLookupListsFuncs(editViewJob);    //ProcessAttacherForPost(editViewJob.Attacher);
                loadViewJobForPost(editViewJob);
                return View(editViewJob);
            }
        }
コード例 #13
0
        private ActionUpdateResult AddNewJobFromViewModel(EditPrdnJobViewModel newViewJob, IEnumerable<HttpPostedFileBase> uploadedFiles, out ProductionJob addedJob,
            Action<EditPrdnJobViewModel, ProductionJob> extraSaveProc=null)
        {
            addedJob = null;

            ProcessAttacherForSave(newViewJob.Attacher, uploadedFiles);

            JobModelValidate(newViewJob);
            if (ModelState.IsValid)
            {
                EnsurePrdnDBContextOpen();
                using (var transaction = PrdnDBContext.Connection.BeginTransaction())
                {
                    try
                    {
                        newViewJob.RunSeqNo = PrdnDBContext.NextRunSequence(newViewJob.RunID);
                        newViewJob.SerialNo = PrdnDBContext.NextSerialStr();

                        ProductionJob newJob = new ProductionJob(DateTime.Now, GetCurrentUserID());

                        Mapper.Map<EditPrdnJobViewModel, ProductionJob>(newViewJob, newJob);

                        newJob.UpdateStatus((PrdnJobStatus)newViewJob.EditStatus, GetCurrentUserID());

                        PrdnDBContext.ProductionJobs.AddObject(newJob);

                        UpdateJobWorksheet(newJob, newViewJob);

                        UpdateJobAttachments(newJob, newViewJob.Attacher);

                        PrdnDBContext.SaveChanges();
                        if (extraSaveProc != null) {
                            extraSaveProc(newViewJob, newJob);
                        }

                        if ((newViewJob.EditRunSeqNo != null) && (newJob.RunSeqNo != newViewJob.EditRunSeqNo))
                        {
                            InsertRunSeqs(PrdnDBContext, newJob, (int)newViewJob.EditRunSeqNo);
                        }
                        ReSequenceRun(newJob.RunID);

                        transaction.Commit();

                        addedJob = newJob;

                        return new ActionUpdateResult(ActionUpdateType.Success);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        return new ActionUpdateResult(ActionUpdateType.Exception, ex.Message);
                    }
                }
            }
            else
            {
                loadViewJobForPost(newViewJob);
                return new ActionUpdateResult(ActionUpdateType.Invalid);
            }
        }
コード例 #14
0
        //[HttpPost]
        //public ActionResult RequestRun()
        //{
        //    RequestScheduleViewModel model = null;
        //    if (TryValidateModel(model)) {
        //        return RedirectToAction(actionName: model.RouteAction, controllerName: model.RouteController,
        //                routeValues: new
        //                {
        //                    requestID = model.RequestID,
        //                    urlReturn = model.UrlReturn,
        //                    runID = model.RunID
        //                });
        //    }
        //    else {
        //        model.LookupRunModel = new PrdnRunLookupModel();
        //        model.NewRunModel = new NewPrdnRunViewModel(Session, model.RouteController, model.RouteAction,
        //            new RequestCreateRunActionParm { RequestID = model.RequestID, UrlReturn = model.UrlReturn });
        //        return View(model);
        //    }
        //}
        protected void UpdateScheduledRequest(EditPrdnJobViewModel newViewJob, ProductionJob job)
        {
            if (job.CstRequestID == null) {
                return;
            }

            var request = (from r in PrdnDBContext.Requests
                            where r.ID == job.CstRequestID
                            select r).FirstOrDefault();

            if (request != null)
            {
                CST.Prdn.Data.ProductionJobAttachment newAttachment = null;

                request.Status = RequestStatus.SCHEDULED;
                request.ScheduledJobID = job.ID;
                request.ScheduledDt = DateTime.Now;
                request.ScheduledUserID = GetCurrentUserID();

                var reqAtt = (from a in PrdnDBContext.RequestAttachments
                                where a.ID == job.CstRequestID && a.Attachment != null
                                select new
                                {   a.ID,
                                    a.FileName,
                                    MimeContentType = a.MimeType.ContentType,
                                    MimeSubType = a.MimeTypeCD,
                                    a.MimeType,
                                }).FirstOrDefault();

                if (reqAtt != null)
                {
                    string requestAttachmentTypeID = WebConfigurationManager.AppSettings["RequestAttachmentTypeID"];
                    decimal attTypeID = Convert.ToDecimal(requestAttachmentTypeID);

                    newAttachment = new CST.Prdn.Data.ProductionJobAttachment
                    {   //JobID = editJob.ID,
                        FileName = reqAtt.FileName,
                        MimeType = CST.ISIS.Data.Attachment.ConcatMimeType(reqAtt.MimeContentType, reqAtt.MimeSubType),
                        Description = "Original Request Attachment",
                        Attachment = null,
                        AttachmentTypeID = attTypeID
                    };
                    job.Attachments.Add(newAttachment);
                }

                PrdnDBContext.SaveChanges();

                if (newAttachment != null) {
                    PrdnDBContext.ExecuteStoreCommand(
            @"UPDATE FG_PRDN_JOB_ATTACHMENT J SET J.FG_ATTACH_DATA = (SELECT R.FG_ATTACHMENT FROM FG_REQ_PART R WHERE R.FG_REQUEST_ID = :p0) WHERE J.FG_PRDN_JOB_ATT_ID = :p1"
                    , reqAtt.ID, newAttachment.ID);
                }

            }
        }
コード例 #15
0
        protected void loadJobViewForOrder(EditPrdnJobViewModel viewJob)
        {
            if (viewJob == null)
            {
                return;
            }

            if (!String.IsNullOrEmpty(viewJob.OrderNo))
            {
                OrderShipToInfo info = PrdnDBContext.GetOrderShipToInfo(viewJob.OrderNo);

                if (info != null)
                {
                    if (info.DropShip)
                    {
                        viewJob.DropShip = true;
                        viewJob.DropShipCustID = info.ShipToCustID;
                        viewJob.DropShipCustName = info.ShipToName;
                        viewJob.ShipAddr1 = info.ShipToAddr1;
                        viewJob.ShipAddr2 = info.ShipToAddr2;
                        viewJob.ShipAddr3 = info.ShipToAddr3;
                        viewJob.ShipAddr4 = info.ShipToAddr4;
                        viewJob.ShipCity = info.ShipToCity;
                        viewJob.ShipState = info.ShipToState;
                        viewJob.ShipPostal = info.ShipToPostal;
                        viewJob.ShipCountry = info.ShipToCountry;
                    }
                    else
                    {
                        viewJob.DropShip = false;
                    }
                    viewJob.OrderTotal = info.OrderTot;
                }
            }
        }
コード例 #16
0
 protected void LoadViewJobProdLists(EditPrdnJobViewModel viewJob, ProductionJob job = null)
 {
     viewJob.ProdOptions = ProdOptDefn.ProdOptions(viewJob.ProdCD, viewJob.ParentProdCD);
     viewJob.ProdImageInfoSet = IsisDbContext.ProdImageInfoSet(viewJob.ProdCD);
 }
コード例 #17
0
        protected bool JobModelValidate(EditPrdnJobViewModel viewJob)
        {
            bool isValid = (ModelState.IsValid);
            if (isValid)
            {
                if (!String.IsNullOrEmpty(viewJob.ProdCD))
                {
                    var prodObj = (from p in PrdnDBContext.Products
                                   where (p.ProdTypeCD == viewJob.ProdTypeCD && p.ProdCD == viewJob.ProdCD)
                                   select new { p.ProdCD })
                                   .FirstOrDefault();
                    if (prodObj == null)
                    {
                        ModelState.AddModelError(viewJob.FullPropertyName(j => j.ProdCD), SystemExtensions.Sentence(viewJob.ProdCD, LocalStr.verbIsNot, LocalStr.valid));
                        isValid = false;
                    }
                }
            }
            if (isValid)
            {
                if ((viewJob.CustID == @PrdnDataHelper.PrdnCustIDCST) && (!String.IsNullOrEmpty(viewJob.OrderNo)))
                {
                    isValid = JobModelValidateCstOrder(viewJob);
                }
            }
            if (isValid)
            {
                isValid = JobModelValidateOtherJobs(viewJob);
            }

            return isValid;
        }
コード例 #18
0
        protected bool JobModelValidateCstOrder(EditPrdnJobViewModel viewJob)
        {
            var lnQry = from l in PrdnDBContext.CstOrderLines
                        where l.OrderLine == viewJob.OrderLine
                        select new
                        {
                            l.OrderNo,
                            l.OrderLine,
                            l.OrderLineID,
                            l.ProdCD
                        };

            var ordMatch = (from o in PrdnDBContext.CstOrders
                            where o.OrderNo == viewJob.OrderNo
                            join l in lnQry on o.OrderNo equals l.OrderNo into temp
                            from ln in temp.DefaultIfEmpty()
                            select new
                            {
                                o.OrderNo,
                                line = ln
                            }).FirstOrDefault();

            bool isValid = false;
            if (ordMatch == null)
            {
                ModelState.AddModelError(viewJob.FullPropertyName(j => j.OrderNo), SystemExtensions.Sentence(LocalStr.OrderNo, viewJob.OrderNo, LocalStr.verbIsNot, LocalStr.valid));
            }
            else if (ordMatch.line == null)
            {
                ModelState.AddModelError(viewJob.FullPropertyName(j => j.OrderLineInt), SystemExtensions.Sentence(LocalStr.OrderNo, viewJob.OrderNo, LocalStr.OrderLine, viewJob.OrderLineInt.ToString(), LocalStr.verbIsNot, LocalStr.valid));
            }
            else if (ordMatch.line.ProdCD != viewJob.ProdCD)
            {
                ModelState.AddModelError(viewJob.FullPropertyName(j => j.ProdCD), SystemExtensions.Sentence(LocalStr.OrderNo, viewJob.OrderNo, LocalStr.OrderLine, viewJob.OrderLineInt.ToString(), LocalStr.ProductCD, viewJob.ProdCD, LocalStr.doesNotMatch, ordMatch.line.ProdCD));
            }
            else
            {
                isValid = true;
                viewJob.OrderLineID = ordMatch.line.OrderLineID;
            }
            return isValid;
        }
コード例 #19
0
        protected bool JobModelValidateOtherJobs(EditPrdnJobViewModel viewJob)
        {
            bool isValid = true;
            string dbCancStr = PrdnJobStatus.Canceled.DbValStr();

            using (PrdnEntities PrdnDBContext = new PrdnEntities())
            {
                if (!String.IsNullOrEmpty(viewJob.CstRequestID))
                {
                    var jobReqQry = from j in PrdnDBContext.ProductionJobs
                                    where j.CstRequestID == viewJob.CstRequestID
                                    && j.CustID == viewJob.CustID
                                    && j.StatusStr != dbCancStr
                                    select j;

                    if (viewJob.ID != null)
                    {
                        jobReqQry = from j in jobReqQry
                                    where j.ID != viewJob.ID
                                    select j;
                    }

                    var reqJob = (from j in jobReqQry
                                       select new
                                       {
                                           j.ID,
                                           j.SerialNo,
                                           j.Run.PrdnOrderNo,
                                           j.Run.PrdnType.Code,
                                           j.StatusStr,
                                       }).FirstOrDefault();

                    if (reqJob != null)
                    {
                        ModelState.AddModelError(viewJob.FullPropertyName(j => j.CstRequestID),
                            SystemExtensions.Sentence(LocalStr.Job, reqJob.PrdnOrderNo + reqJob.Code, LocalStr.JobID, reqJob.ID.ToString(), LocalStr.SerialNo, reqJob.SerialNo, LocalStr.isAlreadyAssignedTo, LocalStr.RequestID, viewJob.CstRequestID));
                        isValid = false;
                    }
                }

                if (isValid && !String.IsNullOrEmpty(viewJob.OrderNo) && (viewJob.OrderLine != null) && !String.IsNullOrEmpty(viewJob.ProdCD))
                {
                    var jobOrdQry = from j in PrdnDBContext.ProductionJobs
                                    where j.OrderNo == viewJob.OrderNo
                                    && j.CustID == viewJob.CustID
                                    && j.OrderLine == viewJob.OrderLine
                                    && j.ProdCD == viewJob.ProdCD
                                    && j.StatusStr != dbCancStr
                                    select j;

                    if (viewJob.ID != null)
                    {
                        jobOrdQry = from j in jobOrdQry
                                    where j.ID != viewJob.ID
                                    select j;
                    }

                    var ordJob = (from j in jobOrdQry
                                       select new
                                       {
                                           j.ID,
                                           j.SerialNo,
                                           j.Run.PrdnOrderNo,
                                           j.Run.PrdnType.Code,
                                           j.StatusStr,
                                       }).FirstOrDefault();

                    if (ordJob != null)
                    {
                        ModelState.AddModelError(viewJob.FullPropertyName(j => j.CstRequestID),
                            SystemExtensions.Sentence(LocalStr.Job, ordJob.PrdnOrderNo + ordJob.Code, LocalStr.JobID, ordJob.ID.ToString(), LocalStr.SerialNo, ordJob.SerialNo,
                                LocalStr.isAlreadyAssignedTo, LocalStr.OrderNo, viewJob.OrderNo, LocalStr.OrderLine, viewJob.OrderLineInt.ToString(), LocalStr.ProductCD, viewJob.ProdCD));
                        isValid = false;
                    }
                }
            }
            return isValid;
        }
コード例 #20
0
 protected EditPrdnJobViewModel GetEditJobViewModel(int id, string urlReturn)
 {
     EditPrdnJobViewModel model = new EditPrdnJobViewModel();
     LoadEditJobViewModel(model, id, urlReturn);
     return model;
 }
コード例 #21
0
        public PrdnZplMultiParam(EditPrdnJobViewModel job)
        {
            SerialNo = job.SerialNo;
            ProdCD = job.ProdCD;
            Descr = job.ProdDescr;

            LoadFromCharCompOpts(job.IfNotNull(j => j.EditWorksheet).IfNotNull(w => w.WorksheetOpts));

            Priority = job.PriorityDescription;
            SetPrdnOrderDisp(job.PrdnOrderNo, job.PrdnTypeCode, job.RunSeqNo);
            ShipCD = job.IfNotNull(j => j.ShipMethodCD);
        }