public UIDValidationViewModel GetBarCodeDetail(string ProductUidName)
        {
            UIDValidationViewModel temp = new UIDValidationViewModel();

            var UID = (from p in db.ProductUid
                       where p.ProductUidName == ProductUidName
                       select new UIDValidationViewModel
            {
                CurrenctGodownId = p.CurrenctGodownId,
                CurrenctProcessId = p.CurrenctProcessId,
                CurrentGodownName = p.CurrenctGodown.GodownName,
                CurrentProcessName = p.CurrenctProcess.ProcessName,
                GenDocDate = p.GenDocDate,
                GenDocId = p.GenDocId,
                GenDocNo = p.GenDocNo,
                GenDocTypeId = p.GenDocTypeId,
                GenDocTypeName = p.GenDocType.DocumentTypeName,
                GenPersonId = p.GenPersonId,
                GenPersonName = p.GenPerson.Person.Name,
                IsActive = p.IsActive,
                LastTransactionDocDate = p.LastTransactionDocDate,
                LastTransactionDocId = p.LastTransactionDocId,
                LastTransactionDocNo = p.LastTransactionDocNo,
                LastTransactionDocTypeId = p.LastTransactionDocTypeId,
                LastTransactionDocTypeName = p.LastTransactionDocType.DocumentTypeName,
                LastTransactionPersonId = p.LastTransactionPersonId,
                LastTransactionPersonName = p.LastTransactionPerson.Name,
                ProductId = p.ProductId,
                ProductName = p.Product.ProductName,
                ProductUIDId = p.ProductUIDId,
                ProductUidName = p.ProductUidName,
                Status = p.Status,
                LotNo = p.LotNo,
                Dimension1Id = p.Dimension1Id,
                Dimension1Name = p.Dimension1.Dimension1Name,
                Dimension2Id = p.Dimension2Id,
                Dimension2Name = p.Dimension2.Dimension2Name,
            }).FirstOrDefault();

            if (UID == null)
            {
                UID              = new UIDValidationViewModel();
                UID.ErrorType    = "InvalidID";
                UID.ErrorMessage = "Invalid ProductUID";
            }
            else
            {
                UID.ErrorType = "Success";
            }

            return(UID);
        }
Example #2
0
        public JsonResult GetProductUidJobReceiveValidationForWashing(string ProductUID, bool PostedInStock, int HeaderID, int ProcessId)
        {
            int SiteId     = (int)System.Web.HttpContext.Current.Session["SiteId"];
            int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"];

            JobInvoiceHeader InvoiceHeader = (from H in db.JobInvoiceHeader where H.JobReceiveHeaderId == HeaderID select H).FirstOrDefault();



            var temp2 = (from p in db.ProductUid
                         where p.ProductUidName == ProductUID
                         join t2 in db.JobOrderLine on p.ProductUIDId equals t2.ProductUidId
                         join t3 in db.JobOrderHeader on t2.JobOrderHeaderId equals t3.JobOrderHeaderId
                         join t4 in db.ViewJobOrderBalance on t2.JobOrderLineId equals t4.JobOrderLineId
                         where t3.SiteId == SiteId && t3.DivisionId == DivisionId && t3.ProcessId == ProcessId
                         select t2).FirstOrDefault();

            if (temp2 != null)
            {
                return(Json(new ProductUidService(_unitOfWork).ValidateUIDOnJobReceiveBranch(ProductUID, PostedInStock, HeaderID), JsonRequestBehavior.AllowGet));
            }
            else
            {
                if (InvoiceHeader != null)
                {
                    var settings = new JobInvoiceSettingsService(_unitOfWork).GetJobInvoiceSettingsForDocument(InvoiceHeader.DocTypeId, InvoiceHeader.DivisionId, InvoiceHeader.SiteId);
                    if (settings != null)
                    {
                        if (settings.isGenerateProductUid == true)
                        {
                            UIDValidationViewModel temp = new UIDValidationViewModel();
                            temp.ErrorType = "Success";
                            return(Json(temp));
                        }
                        else
                        {
                            return(Json(new ProductUidService(_unitOfWork).ValidateUIDOnJobReceiveBranch(ProductUID, PostedInStock, HeaderID), JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        return(Json(new ProductUidService(_unitOfWork).ValidateUIDOnJobReceiveBranch(ProductUID, PostedInStock, HeaderID), JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    return(Json(new { ErrorType = "InvalidID", ErrorMessage = "BarCodeNotFound" }));
                }
            }
        }
        public UIDValidationViewModel ValidateUIDOnReceive(string ProductUID, bool PostedInStock, int PersonId)
        {
            UIDValidationViewModel temp = new UIDValidationViewModel();
            var UID = (from p in _productRepository.Instance
                       where p.ProductUidName == ProductUID
                       select new UIDValidationViewModel
            {
                CurrenctGodownId = p.CurrenctGodownId,
                CurrenctProcessId = p.CurrenctProcessId,
                CurrentGodownName = p.CurrenctGodown.GodownName,
                CurrentProcessName = p.CurrenctProcess.ProcessName,
                GenDocDate = p.GenDocDate,
                GenDocId = p.GenDocId,
                GenDocNo = p.GenDocNo,
                GenLineId = p.GenLineId,
                GenDocTypeId = p.GenDocTypeId,
                GenDocTypeName = p.GenDocType.DocumentTypeName,
                GenPersonId = p.GenPersonId,
                GenPersonName = p.GenPerson.Name,
                IsActive = p.IsActive,
                LastTransactionDocDate = p.LastTransactionDocDate,
                LastTransactionDocId = p.LastTransactionDocId,
                LastTransactionDocNo = p.LastTransactionDocNo,
                LastTransactionDocTypeId = p.LastTransactionDocTypeId,
                LastTransactionDocTypeName = p.LastTransactionDocType.DocumentTypeName,
                LastTransactionPersonId = p.LastTransactionPersonId,
                LastTransactionPersonName = p.LastTransactionPerson.Name,
                ProductId = p.ProductId,
                ProductName = p.Product.ProductName,
                ProductUIDId = p.ProductUIDId,
                ProductUidName = p.ProductUidName,
                Status = p.Status,
                LotNo = p.LotNo,
                Dimension1Id = p.Dimension1Id,
                Dimension1Name = p.Dimension1.Dimension1Name,
                Dimension2Id = p.Dimension2Id,
                Dimension2Name = p.Dimension2.Dimension2Name,
            }).FirstOrDefault();



            if (UID == null)
            {
                UID              = new UIDValidationViewModel();
                UID.ErrorType    = "InvalidID";
                UID.ErrorMessage = "Invalid ProductUID";
            }
            else if (UID.Status != ProductUidStatusConstants.Issue)
            {
                UID.ErrorType    = "InvalidID";
                UID.ErrorMessage = "ProductUID is already received/cancelled from this jobworker";
            }
            else if (PostedInStock == true)
            {
                if (UID.CurrenctGodownId != null)
                {
                    UID.ErrorType    = "GodownNull";
                    UID.ErrorMessage = " Product " + UID.ProductName + " is already in Stock at Godown " + _unitOfWork.Repository <Godown>().Find(UID.CurrenctGodownId ?? 0).GodownName;
                }
                else
                {
                    UID.ErrorType = "Success";
                }
            }
            else if (UID.LastTransactionPersonId != PersonId)
            {
                UID.ErrorType    = "InvalidGodown";
                UID.ErrorMessage = "Product does not belong to this Supplier ";
            }
            else
            {
                UID.ErrorType = "Success";
            }


            return(UID);
        }
        public UIDValidationViewModel ValidateUID(string ProductUID, bool PostedInStock, int?GodownId)
        {
            UIDValidationViewModel temp = new UIDValidationViewModel();
            var UID = (from p in _productRepository.Instance
                       where p.ProductUidName == ProductUID
                       select new UIDValidationViewModel
            {
                CurrenctGodownId = p.CurrenctGodownId,
                CurrenctProcessId = p.CurrenctProcessId,
                CurrentGodownName = p.CurrenctGodown.GodownName,
                CurrentProcessName = p.CurrenctProcess.ProcessName,
                GenDocDate = p.GenDocDate,
                GenDocId = p.GenDocId,
                GenLineId = p.GenLineId,
                GenDocNo = p.GenDocNo,
                GenDocTypeId = p.GenDocTypeId,
                GenDocTypeName = p.GenDocType.DocumentTypeName,
                GenPersonId = p.GenPersonId,
                GenPersonName = p.GenPerson.Name,
                IsActive = p.IsActive,
                LastTransactionDocDate = p.LastTransactionDocDate,
                LastTransactionDocId = p.LastTransactionDocId,
                LastTransactionDocNo = p.LastTransactionDocNo,
                LastTransactionDocTypeId = p.LastTransactionDocTypeId,
                LastTransactionDocTypeName = p.LastTransactionDocType.DocumentTypeName,
                LastTransactionPersonId = p.LastTransactionPersonId,
                LastTransactionPersonName = p.LastTransactionPerson.Name,
                ProductId = p.ProductId,
                ProductName = p.Product.ProductName,
                ProductUIDId = p.ProductUIDId,
                ProductUidName = p.ProductUidName,
                Status = p.Status,
                LotNo = p.LotNo,
                Dimension1Id = p.Dimension1Id,
                Dimension1Name = p.Dimension1.Dimension1Name,
                Dimension2Id = p.Dimension2Id,
                Dimension2Name = p.Dimension2.Dimension2Name,
                ProductUidHeaderId = p.ProductUidHeaderId,
            }).FirstOrDefault();

            if (UID == null)
            {
                UID              = new UIDValidationViewModel();
                UID.ErrorType    = "InvalidID";
                UID.ErrorMessage = "Invalid ProductUID";
            }
            else //if (PostedInStock == true || UID.ProductUidHeaderId==null )
            {
                if (UID.CurrenctGodownId == null)
                {
                    UID.ErrorType    = "GodownNull";
                    UID.ErrorMessage = "Product is not present in Godown " + (GodownId.HasValue ? _unitOfWork.Repository <Godown>().Find(GodownId.Value).GodownName : "") + "Status of Product " + UID.ProductName + " is " + UID.Status;
                }

                else if (!GodownId.HasValue || UID.CurrenctGodownId != GodownId)
                {
                    UID.ErrorType    = "InvalidGodown";
                    UID.ErrorMessage = "Product is not present in Godown " + (GodownId.HasValue ? _unitOfWork.Repository <Godown>().Find(GodownId.Value).GodownName : "");
                }
                else
                {
                    UID.ErrorType = "Success";
                }
            }



            return(UID);
        }
        public UIDValidationViewModel ValidateInspectionRequestCancelBarCode(string ProductUid, int HeaderId)
        {
            UIDValidationViewModel temp = new UIDValidationViewModel();

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

            var InspectionReqCancelHeader = db.JobOrderInspectionRequestCancelHeader.Find(HeaderId);

            temp = (from p in db.ViewJobOrderInspectionRequestBalance
                    join jir in db.JobOrderInspectionRequestHeader on p.JobOrderInspectionRequestHeaderId equals jir.JobOrderInspectionRequestHeaderId
                    join t in db.ProductUid on p.ProductUidId equals t.ProductUIDId
                    where t.ProductUidName == ProductUid && p.BalanceQty > 0 &&
                    p.SiteId == SiteId && p.DivisionId == DivisionId && p.JobWorkerId == InspectionReqCancelHeader.JobWorkerId && jir.ProcessId == InspectionReqCancelHeader.ProcessId
                    select new UIDValidationViewModel
            {
                ProductId = p.ProductId,
                ProductName = p.Product.ProductName,
                ProductUIDId = t.ProductUIDId,
                ProductUidName = t.ProductUidName,
            }).FirstOrDefault();

            if (temp == null)
            {
                temp = new UIDValidationViewModel();
                var ProdUidExist = (from p in db.ProductUid
                                    where p.ProductUidName == ProductUid
                                    select p).FirstOrDefault();

                if (ProdUidExist == null)
                {
                    temp.ErrorType    = "Error";
                    temp.ErrorMessage = "Invalid ProductUID";
                }
                else
                {
                    var ProdUIdJobWoker = (from p in db.ViewJobOrderInspectionRequestBalance
                                           join t in db.ProductUid on p.ProductUidId equals t.ProductUIDId
                                           where t.ProductUidName == ProductUid
                                           select p).FirstOrDefault();
                    if (ProdUIdJobWoker == null)
                    {
                        temp.ErrorType    = "Error";
                        temp.ErrorMessage = "BarCode not pending.";
                    }
                    else if (ProdUIdJobWoker.JobWorkerId != InspectionReqCancelHeader.JobWorkerId)
                    {
                        temp.ErrorType    = "Error";
                        temp.ErrorMessage = "Does not belong to JobWorker";
                    }
                    else if (ProdUIdJobWoker.BalanceQty <= 0)
                    {
                        temp.ErrorType    = "Error";
                        temp.ErrorMessage = "ProductUid not pending for Inspection";
                    }
                }
            }
            else
            {
                temp.ErrorType = "Success";
            }

            return(temp);
        }