Exemplo n.º 1
0
        public JobReceiveQAAttributeViewModel GetJobReceiveQAAttributeDetailForEdit(int JobReceiveQALineid)
        {
            JobReceiveQAAttributeViewModel JobReceiveQALineDetail = (from L in db.JobReceiveQALine
                                                                     join H in db.JobReceiveQAHeader on L.JobReceiveQAHeaderId equals H.JobReceiveQAHeaderId into JobReceiveQAHeaderTable
                                                                     from JobReceiveQAHeaderTab in JobReceiveQAHeaderTable.DefaultIfEmpty()
                                                                     join Jrl in db.JobReceiveLine on L.JobReceiveLineId equals Jrl.JobReceiveLineId into JobReceiveLineTable
                                                                     from JobReceiveLineTab in JobReceiveLineTable.DefaultIfEmpty()
                                                                     join Jol in db.JobOrderLine on JobReceiveLineTab.JobOrderLineId equals Jol.JobOrderLineId into JobOrderLineTable
                                                                     from JobOrderLineTab in JobOrderLineTable.DefaultIfEmpty()
                                                                     join Ld in db.JobReceiveQALineExtended on L.JobReceiveQALineId equals Ld.JobReceiveQALineId into JobReceiveQALineDetailTable
                                                                     from JobReceiveQALineDetailTab in JobReceiveQALineDetailTable.DefaultIfEmpty()
                                                                     where L.JobReceiveQALineId == JobReceiveQALineid
                                                                     select new JobReceiveQAAttributeViewModel
            {
                JobReceiveQALineId = L.JobReceiveQALineId,
                JobReceiveQAHeaderId = L.JobReceiveQAHeaderId,
                JobReceiveLineId = L.JobReceiveLineId,
                JobWorkerId = JobReceiveQAHeaderTab.JobWorkerId,
                ProductUidId = L.ProductUidId,
                ProductUidName = L.ProductUid.ProductUidName,
                ProductId = JobOrderLineTab.ProductId,
                ProductName = JobOrderLineTab.Product.ProductName,
                QAQty = L.Qty,
                InspectedQty = L.Qty,
                Qty = L.Qty,
                UnitId = JobOrderLineTab.Product.UnitId,
                DealUnitId = JobReceiveLineTab.DealUnitId,
                UnitConversionMultiplier = L.UnitConversionMultiplier,
                DealQty = L.DealQty,
                Weight = L.Weight,
                UnitDecimalPlaces = JobOrderLineTab.Product.Unit.DecimalPlaces,
                DealUnitDecimalPlaces = JobOrderLineTab.DealUnit.DecimalPlaces,
                PenaltyRate = L.PenaltyRate,
                PenaltyAmt = L.PenaltyAmt,
                DivisionId = JobReceiveQAHeaderTab.DivisionId,
                SiteId = JobReceiveQAHeaderTab.SiteId,
                ProcessId = JobReceiveQAHeaderTab.ProcessId,
                DocDate = JobReceiveQAHeaderTab.DocDate,
                DocTypeId = JobReceiveQAHeaderTab.DocTypeId,
                DocNo = JobReceiveQAHeaderTab.DocNo,
                QAById = JobReceiveQAHeaderTab.QAById,
                Remark = JobReceiveQAHeaderTab.Remark,
                Length = JobReceiveQALineDetailTab.Length,
                Width = JobReceiveQALineDetailTab.Width,
                Height = JobReceiveQALineDetailTab.Height
            }).FirstOrDefault();

            if (JobReceiveQALineDetail != null)
            {
                ProductDimensions ProductDimensions = new ProductService(_unitOfWork).GetProductDimensions(JobReceiveQALineDetail.ProductId, JobReceiveQALineDetail.DealUnitId, JobReceiveQALineDetail.DocTypeId);
                if (ProductDimensions != null)
                {
                    JobReceiveQALineDetail.DimensionUnitDecimalPlaces = ProductDimensions.DimensionUnitDecimalPlaces;
                }
            }

            return(JobReceiveQALineDetail);
        }
        public ActionResult Create(int id, int DocTypeId)//JobReceiveLineId
        {
            //JobReceiveQAAttributeViewModel vm = new JobReceiveQAAttributeViewModel();
            JobReceiveQAAttributeViewModel vm = _JobReceiveQAAttributeService.GetJobReceiveLineDetail(id);

            vm.DivisionId  = (int)System.Web.HttpContext.Current.Session["DivisionId"];
            vm.SiteId      = (int)System.Web.HttpContext.Current.Session["SiteId"];
            vm.CreatedDate = DateTime.Now;

            var temp = _JobReceiveQAAttributeService.GetJobReceiveQAAttribute(id);

            vm.QAGroupLine = temp;


            LastValues LastValues = _JobReceiveQAAttributeService.GetLastValues(DocTypeId);

            if (LastValues != null)
            {
                if (LastValues.QAById != null)
                {
                    vm.QAById = (int)LastValues.QAById;
                }
            }


            //Getting Settings
            var settings = new JobReceiveQASettingsService(db).GetJobReceiveQASettingsForDocument(DocTypeId, vm.DivisionId, vm.SiteId);

            if (settings == null && UserRoles.Contains("SysAdmin"))
            {
                return(RedirectToAction("Create", "JobReceiveQASettings", new { id = DocTypeId }).Warning("Please create job Inspection settings"));
            }
            else if (settings == null && !UserRoles.Contains("SysAdmin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }
            vm.JobReceiveQASettings = Mapper.Map <JobReceiveQASettings, JobReceiveQASettingsViewModel>(settings);

            vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(DocTypeId);

            vm.ProcessId = settings.ProcessId;
            vm.DocDate   = DateTime.Now;
            vm.DocTypeId = DocTypeId;

            vm.DocNo = new  JobReceiveQAHeaderService(db).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".JobReceiveQAHeaders", vm.DocTypeId, vm.DocDate, vm.DivisionId, vm.SiteId);
            PrepareViewBag(DocTypeId);
            ViewBag.Mode = "Add";
            return(View("Create", vm));
        }
        public ActionResult Edit(int id)
        {
            JobReceiveQAAttributeViewModel pt = _JobReceiveQAAttributeService.GetJobReceiveQAAttributeDetailForEdit(id);

            if (pt == null)
            {
                return(HttpNotFound());
            }


            var temp = _JobReceiveQAAttributeService.GetJobReceiveQAAttributeForEdit(id);

            pt.QAGroupLine = temp;

            //Getting Settings
            var settings = new JobReceiveQASettingsService(db).GetJobReceiveQASettingsForDocument(pt.DocTypeId, pt.DivisionId, pt.SiteId);

            if (settings == null && UserRoles.Contains("SysAdmin"))
            {
                return(RedirectToAction("Create", "JobReceiveQASettings", new { id = pt.DocTypeId }).Warning("Please create job Inspection settings"));
            }
            else if (settings == null && !UserRoles.Contains("SysAdmin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }
            pt.JobReceiveQASettings = Mapper.Map <JobReceiveQASettings, JobReceiveQASettingsViewModel>(settings);

            pt.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(pt.DocTypeId);

            PrepareViewBag(pt.DocTypeId);

            ViewBag.Mode = "Edit";
            if ((System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery).Contains("Create"))
            {
                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId    = pt.DocTypeId,
                    DocId        = pt.JobReceiveQAHeaderId,
                    ActivityType = (int)ActivityTypeContants.Detail,
                    DocNo        = pt.DocNo,
                    DocDate      = pt.DocDate,
                    DocStatus    = pt.Status,
                }));
            }

            return(View("Create", pt));
        }
Exemplo n.º 4
0
        public JobReceiveQALine Create(JobReceiveQAAttributeViewModel pt, string UserName)
        {
            JobReceiveQAHeader header = new JobReceiveQAHeader();

            header = Mapper.Map <JobReceiveQAAttributeViewModel, JobReceiveQAHeader>(pt);
            _JobReceiveQAHeaderService.Create(header, UserName);

            JobReceiveQALine Line = Mapper.Map <JobReceiveQAAttributeViewModel, JobReceiveQALine>(pt);

            Line.Sr          = new JobReceiveQALineService(db, _unitOfWork).GetMaxSr(Line.JobReceiveQAHeaderId);
            Line.FailQty     = Line.QAQty - Line.Qty;
            Line.FailDealQty = Line.FailQty * Line.UnitConversionMultiplier;
            new JobReceiveLineStatusService(_unitOfWork).UpdateJobReceiveQtyOnQA(Mapper.Map <JobReceiveQALineViewModel>(Line), pt.DocDate, ref db);
            new JobReceiveQALineService(db, _unitOfWork).Create(Line, UserName);

            JobReceiveQALineExtended LineExtended = new JobReceiveQALineExtended();

            LineExtended.JobReceiveQALineId = Line.JobReceiveQALineId;
            LineExtended.Length             = pt.Length;
            LineExtended.Width       = pt.Width;
            LineExtended.Height      = pt.Height;
            LineExtended.ObjectState = ObjectState.Added;
            db.JobReceiveQALineExtended.Add(LineExtended);


            List <QAGroupLineLineViewModel> tem = pt.QAGroupLine;

            if (tem != null)
            {
                foreach (var item in tem)
                {
                    JobReceiveQAAttribute pa = new JobReceiveQAAttribute();
                    pa.JobReceiveQALineId = Line.JobReceiveQALineId;
                    pa.QAGroupLineId      = item.QAGroupLineId;
                    pa.Value        = item.Value;
                    pa.Remark       = item.Remarks;
                    pa.CreatedBy    = UserName;
                    pa.ModifiedBy   = UserName;
                    pa.CreatedDate  = DateTime.Now;
                    pa.ModifiedDate = DateTime.Now;
                    pa.ObjectState  = ObjectState.Added;
                    db.JobReceiveQAAttribute.Add(pa);
                }
            }

            return(Line);
        }
Exemplo n.º 5
0
        public JobReceiveQAAttributeViewModel GetJobReceiveLineDetail(int JobReceiveLineid)
        {
            JobReceiveQAAttributeViewModel JobReceiveLineDetail = (from L in db.JobReceiveLine
                                                                   join H in db.JobReceiveHeader on L.JobReceiveHeaderId equals H.JobReceiveHeaderId into JobReceiveHeaderTable
                                                                   from JobReceiveHeaderTab in JobReceiveHeaderTable.DefaultIfEmpty()
                                                                   join Jol in db.JobOrderLine on L.JobOrderLineId equals Jol.JobOrderLineId into JobOrderLineTable
                                                                   from JobOrderLineTab in JobOrderLineTable.DefaultIfEmpty()
                                                                   where L.JobReceiveLineId == JobReceiveLineid
                                                                   select new JobReceiveQAAttributeViewModel
            {
                JobReceiveLineId = L.JobReceiveLineId,
                JobWorkerId = JobReceiveHeaderTab.JobWorkerId,
                ProductUidId = L.ProductUidId,
                ProductUidName = L.ProductUid.ProductUidName,
                ProductId = JobOrderLineTab.ProductId,
                ProductName = JobOrderLineTab.Product.ProductName,
                QAQty = L.Qty,
                InspectedQty = L.Qty,
                Qty = L.Qty,
                UnitId = JobOrderLineTab.Product.UnitId,
                DealUnitId = L.DealUnitId,
                UnitConversionMultiplier = L.UnitConversionMultiplier,
                DealQty = L.DealQty,
                Weight = L.Weight,
                UnitDecimalPlaces = JobOrderLineTab.Product.Unit.DecimalPlaces,
                DealUnitDecimalPlaces = JobOrderLineTab.DealUnit.DecimalPlaces,
                DocTypeId = JobReceiveHeaderTab.DocTypeId
            }).FirstOrDefault();


            if (JobReceiveLineDetail != null)
            {
                ProductDimensions ProductDimensions = new ProductService(_unitOfWork).GetProductDimensions(JobReceiveLineDetail.ProductId, JobReceiveLineDetail.DealUnitId, JobReceiveLineDetail.DocTypeId);
                if (ProductDimensions != null)
                {
                    JobReceiveLineDetail.Length = ProductDimensions.Length;
                    JobReceiveLineDetail.Width  = ProductDimensions.Width;
                    JobReceiveLineDetail.Height = ProductDimensions.Height;
                    JobReceiveLineDetail.DimensionUnitDecimalPlaces = ProductDimensions.DimensionUnitDecimalPlaces;
                }
            }

            return(JobReceiveLineDetail);
        }
        public ActionResult Post(JobReceiveQAAttributeViewModel vm)
        {
            if (ModelState.IsValid)
            {
                #region CreateRecord
                if (vm.JobReceiveQALineId <= 0)
                {
                    JobReceiveQALine Line = new JobReceiveQALine();
                    Line = _JobReceiveQAAttributeService.Create(vm, User.Identity.Name);



                    try
                    {
                        db.SaveChanges();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        PrepareViewBag(vm.DocTypeId);
                        ViewBag.Mode = "Add";
                        return(View("Create", vm));
                    }

                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId    = vm.DocTypeId,
                        DocId        = vm.JobReceiveQAAttributeId,
                        ActivityType = (int)ActivityTypeContants.Added,
                        DocDate      = vm.DocDate,
                        DocNo        = vm.DocNo,
                        DocStatus    = vm.Status,
                    }));


                    return(RedirectToAction("Edit", new { id = Line.JobReceiveQALineId }).Success("Data saved successfully"));
                }
                #endregion

                #region EditRecord
                else
                {
                    List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

                    JobReceiveQAHeader temp = new JobReceiveQAHeaderService(db).Find(vm.JobReceiveQAHeaderId);

                    JobReceiveQAHeader ExRec = new JobReceiveQAHeader();
                    ExRec = Mapper.Map <JobReceiveQAHeader>(temp);


                    int status = temp.Status;

                    if (temp.Status != (int)StatusConstants.Drafted)
                    {
                        temp.Status = (int)StatusConstants.Modified;
                    }


                    _JobReceiveQAAttributeService.Update(vm, User.Identity.Name);

                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = ExRec,
                        Obj   = temp,
                    });

                    XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);

                    try
                    {
                        JobReceiveQADocEvents.onHeaderSaveEvent(this, new JobEventArgs(temp.JobReceiveQAHeaderId, EventModeConstants.Edit), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        EventException     = true;
                    }

                    try
                    {
                        if (EventException)
                        {
                            throw new Exception();
                        }
                        db.SaveChanges();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                        PrepareViewBag(temp.DocTypeId);
                        ViewBag.Mode = "Edit";
                        return(View("Create", vm));
                    }

                    try
                    {
                        JobReceiveQADocEvents.afterHeaderSaveEvent(this, new JobEventArgs(temp.JobReceiveQAHeaderId, EventModeConstants.Edit), ref db);
                    }
                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXC"] += message;
                    }

                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId       = temp.DocTypeId,
                        DocId           = temp.JobReceiveQAHeaderId,
                        ActivityType    = (int)ActivityTypeContants.Modified,
                        DocNo           = temp.DocNo,
                        DocDate         = temp.DocDate,
                        xEModifications = Modifications,
                        DocStatus       = temp.Status,
                    }));

                    return(RedirectToAction("Index", new { id = temp.DocTypeId }).Success("Data saved successfully"));
                }
                #endregion
            }
            PrepareViewBag(vm.DocTypeId);
            ViewBag.Mode = "Add";
            return(View("Create", vm));
        }
Exemplo n.º 7
0
        public void Update(JobReceiveQAAttributeViewModel pt, string UserName)
        {
            JobReceiveQAHeader header = new JobReceiveQAHeaderService(db).Find(pt.JobReceiveQAHeaderId);

            header.DocDate = pt.DocDate;
            header.DocNo   = pt.DocNo;
            header.QAById  = pt.QAById;
            header.Remark  = pt.Remark;
            _JobReceiveQAHeaderService.Update(header, UserName);

            JobReceiveQALine Line = new JobReceiveQALineService(db, _unitOfWork).Find(pt.JobReceiveQALineId);

            Line.Marks       = pt.Marks;
            Line.PenaltyRate = pt.PenaltyRate;
            Line.PenaltyAmt  = pt.PenaltyAmt;
            Line.Weight      = pt.Weight;
            Line.UnitConversionMultiplier = pt.UnitConversionMultiplier;
            Line.DealQty     = pt.DealQty;
            Line.FailQty     = Line.QAQty - Line.Qty;
            Line.FailDealQty = Line.FailQty * Line.UnitConversionMultiplier;
            new JobReceiveLineStatusService(_unitOfWork).UpdateJobReceiveQtyOnQA(Mapper.Map <JobReceiveQALineViewModel>(Line), pt.DocDate, ref db);
            new JobReceiveQALineService(db, _unitOfWork).Update(Line, UserName);


            JobReceiveQALineExtended LineExtended = (from Ld in db.JobReceiveQALineExtended where Ld.JobReceiveQALineId == pt.JobReceiveQALineId select Ld).FirstOrDefault();

            if (LineExtended != null)
            {
                LineExtended.Length      = pt.Length;
                LineExtended.Width       = pt.Width;
                LineExtended.Height      = pt.Height;
                LineExtended.ObjectState = ObjectState.Modified;
                db.JobReceiveQALineExtended.Add(LineExtended);
            }


            List <QAGroupLineLineViewModel> tem = pt.QAGroupLine;

            if (tem != null)
            {
                foreach (var item in tem)
                {
                    if (item.JobReceiveQAAttributeId != null && item.JobReceiveQAAttributeId != 0)
                    {
                        JobReceiveQAAttribute pa = Find((int)item.JobReceiveQAAttributeId);
                        pa.QAGroupLineId = item.QAGroupLineId;
                        pa.Value         = item.Value;
                        pa.Remark        = item.Remarks;
                        pa.ModifiedBy    = UserName;
                        pa.ModifiedDate  = DateTime.Now;
                        pa.ObjectState   = ObjectState.Modified;
                        db.JobReceiveQAAttribute.Add(pa);
                    }
                    else
                    {
                        JobReceiveQAAttribute pa = new JobReceiveQAAttribute();
                        pa.JobReceiveQALineId = Line.JobReceiveQALineId;
                        pa.QAGroupLineId      = item.QAGroupLineId;
                        pa.Value        = item.Value;
                        pa.Remark       = item.Remarks;
                        pa.CreatedBy    = UserName;
                        pa.ModifiedBy   = UserName;
                        pa.CreatedDate  = DateTime.Now;
                        pa.ModifiedDate = DateTime.Now;
                        pa.ObjectState  = ObjectState.Added;
                        db.JobReceiveQAAttribute.Add(pa);
                    }
                }
            }
        }