public object GetProductUidDetail(string ProductUidName, int filter) { var Header = new JobInvoiceReturnHeaderService(db).Find(filter); var temp = (from i in db.JobInvoiceLine join L in db.JobReceiveLine on i.JobReceiveLineId equals L.JobReceiveLineId 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() join Pu in db.ProductUid on(JobOrderLineTab.ProductUidHeaderId == null ? JobOrderLineTab.ProductUidId : L.ProductUidId) equals Pu.ProductUIDId into ProductUidTable from ProductUidTab in ProductUidTable.DefaultIfEmpty() where ProductUidTab.ProductUidName == ProductUidName && JobReceiveHeaderTab.ProcessId == Header.ProcessId && JobReceiveHeaderTab.SiteId == Header.SiteId && JobReceiveHeaderTab.DivisionId == Header.DivisionId && JobReceiveHeaderTab.JobWorkerId == Header.JobWorkerId orderby JobReceiveHeaderTab.DocDate select new { ProductUidId = ProductUidTab.ProductUIDId, JobInvoiceLineId = i.JobInvoiceLineId, JobInvoiceDocNo = i.JobInvoiceHeader.DocNo, Success = (i.JobInvoiceHeader.JobWorkerId == Header.JobWorkerId ? true : false), ProdUidHeaderId = JobOrderLineTab.ProductUidHeaderId, }).ToList().Last(); return(temp); }
public void CreateJobReceiveAtBranch(int JobReceiveHeaderId) { JobReceiveHeader JobReceiveHeader = new JobReceiveHeaderService(_unitOfWork).Find(JobReceiveHeaderId); int SisteConcernSiteId = (from H in db.JobReceiveHeader join p in db.Persons on H.JobWorkerId equals p.PersonID into JobWorkerTable from JobWorkerTab in JobWorkerTable.DefaultIfEmpty() join s in db.Site on JobWorkerTab.PersonID equals s.PersonId into SiteTable from SiteTab in SiteTable.DefaultIfEmpty() where H.JobReceiveHeaderId == JobReceiveHeaderId select new { SiteId = SiteTab.SiteId }).FirstOrDefault().SiteId; if (SisteConcernSiteId != null && SisteConcernSiteId != 0) { var Temp = (from L in db.JobReceiveLine join H in db.JobReceiveHeader on L.JobReceiveHeaderId equals H.JobReceiveHeaderId into JobReceiveHeaderTable from JobReceiveHeaderTab in JobReceiveHeaderTable.DefaultIfEmpty() join P in db.ProductUidSiteDetail on L.ProductUidId equals P.ProductUIDId into ProductUidTable from ProductUidTab in ProductUidTable.DefaultIfEmpty() join Joh in db.JobOrderHeader on ProductUidTab.GenDocId equals Joh.JobOrderHeaderId into JobOrderHeaderTable from JobOrderHeaderTab in JobOrderHeaderTable.DefaultIfEmpty() where L.JobReceiveHeaderId == JobReceiveHeaderId group new { JobReceiveHeaderTab, JobOrderHeaderTab } by new { JobOrderHeaderTab.JobWorkerId } into Results select new { DocDate = Results.Max(i => i.JobReceiveHeaderTab.DocDate), DivisionId = Results.Max(i => i.JobReceiveHeaderTab.DivisionId), ProcessId = Results.Max(i => i.JobReceiveHeaderTab.ProcessId), JobWorkerId = Results.Key.JobWorkerId, Remark = Results.Max(i => i.JobReceiveHeaderTab.Remark) }).ToList(); foreach (var SisterConcernJobReceiveHeader in Temp) { JobReceiveHeader Header = new JobReceiveHeader(); Header.DocTypeId = new DocumentTypeService(_unitOfWork).Find(TransactionDoctypeConstants.WeavingBazar).DocumentTypeId; Header.DocDate = SisterConcernJobReceiveHeader.DocDate; Header.DocNo = "1"; Header.DivisionId = SisterConcernJobReceiveHeader.DivisionId; Header.SiteId = SisteConcernSiteId; Header.ProcessId = SisterConcernJobReceiveHeader.ProcessId; Header.JobWorkerId = SisterConcernJobReceiveHeader.JobWorkerId; Header.JobReceiveById = 1; Header.GodownId = 1; Header.Remark = SisterConcernJobReceiveHeader.Remark; Header.CreatedBy = User.Identity.Name; Header.CreatedDate = DateTime.Now; Header.ModifiedBy = User.Identity.Name; Header.ModifiedDate = DateTime.Now; new JobReceiveHeaderService(_unitOfWork).Create(Header); } } }
public IEnumerable <JobInvoiceReturnLineIndexViewModel> GetLineListForIndex(int HeaderId) { return(from L in db.JobInvoiceReturnLine join Jil in db.JobInvoiceLine on L.JobInvoiceLineId equals Jil.JobInvoiceLineId into JobInvoiceLineTable from JobInvoiceLineTab in JobInvoiceLineTable.DefaultIfEmpty() join Jrl in db.JobReceiveLine on JobInvoiceLineTab.JobReceiveLineId equals Jrl.JobReceiveLineId into JobReceiveLineTable from JobReceiveLineTab in JobReceiveLineTable.DefaultIfEmpty() join Jrh in db.JobReceiveHeader on JobReceiveLineTab.JobReceiveHeaderId equals Jrh.JobReceiveHeaderId into JobReceiveHeaderTable from JobReceiveHeaderTab in JobReceiveHeaderTable.DefaultIfEmpty() join P in db.Product on JobReceiveLineTab.ProductId equals P.ProductId into ProductTable from ProductTab in ProductTable.DefaultIfEmpty() where L.JobInvoiceReturnHeaderId == HeaderId orderby L.Sr select new JobInvoiceReturnLineIndexViewModel { ProductName = ProductTab.ProductName, Qty = L.Qty, JobInvoiceReturnLineId = L.JobInvoiceReturnLineId, UnitId = ProductTab.UnitId, Specification = JobReceiveLineTab.Specification, Dimension1Name = JobReceiveLineTab.Dimension1.Dimension1Name, Dimension2Name = JobReceiveLineTab.Dimension2.Dimension2Name, Dimension3Name = JobReceiveLineTab.Dimension3.Dimension3Name, Dimension4Name = JobReceiveLineTab.Dimension4.Dimension4Name, LotNo = JobReceiveLineTab.LotNo, JobGoodsRecieptHeaderDocNo = JobReceiveHeaderTab.DocNo, JobInvoiceHeaderDocNo = JobInvoiceLineTab.JobInvoiceHeader.DocNo, DealQty = L.DealQty, DealUnitId = L.DealUnitId, unitDecimalPlaces = ProductTab.Unit.DecimalPlaces, DealunitDecimalPlaces = L.DealUnit.DecimalPlaces, Rate = L.Rate, Amount = L.Amount, Remark = L.Remark, ProductUidName = JobReceiveLineTab.ProductUid.ProductUidName, UnitName = ProductTab.Unit.UnitName, DealUnitName = L.DealUnit.UnitName, JobInvoiceDocTypeId = L.JobInvoiceLine.JobInvoiceHeader.DocTypeId, JobInvoiceHeaderId = L.JobInvoiceLine.JobInvoiceHeaderId, }); }
public JobInvoiceLineViewModel GetJobInvoiceLineBalance(int id) { var temp = (from VJIB in db.ViewJobInvoiceBalance join Jil in db.JobInvoiceLine on VJIB.JobInvoiceLineId equals Jil.JobInvoiceLineId into JobInvoiceLineTable from JobInvoiceLineTab in JobInvoiceLineTable.DefaultIfEmpty() join Jrl in db.JobReceiveLine on JobInvoiceLineTab.JobReceiveLineId equals Jrl.JobReceiveLineId into JobReceiveLineTable from JobReceiveLineTab in JobReceiveLineTable.DefaultIfEmpty() join Jih in db.JobInvoiceHeader on JobInvoiceLineTab.JobInvoiceHeaderId equals Jih.JobInvoiceHeaderId into JobInvoiceHeaderTable from JobInvoiceHeaderTab in JobInvoiceHeaderTable.DefaultIfEmpty() join Jrh in db.JobReceiveHeader on JobReceiveLineTab.JobReceiveHeaderId equals Jrh.JobReceiveHeaderId into JobReceiveHeaderTable from JobReceiveHeaderTab in JobReceiveHeaderTable.DefaultIfEmpty() where JobInvoiceLineTab.JobInvoiceLineId == id select new JobInvoiceLineViewModel { JobWorkerId = JobInvoiceHeaderTab.JobWorkerId.Value, Amount = JobInvoiceLineTab.Amount, ProductId = JobReceiveLineTab.ProductId, ProductName = JobReceiveLineTab.Product.ProductName, JobReceiveLineId = JobInvoiceLineTab.JobReceiveLineId, JobReceiveDocNo = JobReceiveHeaderTab.DocNo, JobInvoiceHeaderId = JobInvoiceLineTab.JobInvoiceHeaderId, JobInvoiceLineId = JobInvoiceLineTab.JobInvoiceLineId, InvoiceDocNo = JobInvoiceLineTab.JobInvoiceHeader.DocNo, Qty = VJIB.BalanceQty, Rate = JobInvoiceLineTab.Rate, Remark = JobInvoiceLineTab.Remark, UnitConversionMultiplier = JobInvoiceLineTab.UnitConversionMultiplier, DealUnitId = JobInvoiceLineTab.DealUnitId, DealQty = JobInvoiceLineTab.DealQty, UnitId = JobReceiveLineTab.Product.UnitId, Dimension1Id = JobReceiveLineTab.Dimension1Id, Dimension1Name = JobReceiveLineTab.Dimension1.Dimension1Name, Dimension2Id = JobReceiveLineTab.Dimension2Id, Dimension2Name = JobReceiveLineTab.Dimension2.Dimension2Name, Dimension3Id = JobReceiveLineTab.Dimension3Id, Dimension3Name = JobReceiveLineTab.Dimension3.Dimension3Name, Dimension4Id = JobReceiveLineTab.Dimension4Id, Dimension4Name = JobReceiveLineTab.Dimension4.Dimension4Name, Specification = JobReceiveLineTab.Specification, LotNo = JobReceiveLineTab.LotNo, SalesTaxGroupPersonId = JobInvoiceLineTab.JobInvoiceHeader.SalesTaxGroupPersonId, SalesTaxGroupProductId = JobInvoiceLineTab.SalesTaxGroupProductId, CostCenterId = JobInvoiceLineTab.CostCenterId, CostCenterName = JobInvoiceLineTab.CostCenter.CostCenterName, //DiscountPer = p.DiscountPer Weight = JobReceiveLineTab.Qty == 0 ? 0 : (JobReceiveLineTab.Weight / JobReceiveLineTab.Qty) * VJIB.BalanceQty, }).FirstOrDefault(); var JobInvoiceLineId = (from p in db.JobInvoiceLine where p.JobInvoiceLineId == temp.JobInvoiceLineId select new { LineId = p.JobInvoiceLineId, HeaderId = p.JobInvoiceHeaderId }).FirstOrDefault(); var Charges = (from p in db.JobInvoiceLineCharge where p.LineTableId == JobInvoiceLineId.LineId join t in db.Charge on p.ChargeId equals t.ChargeId select new LineCharges { ChargeCode = t.ChargeCode, Rate = p.Rate, LedgerAccountCrId = p.LedgerAccountCrId, LedgerAccountDrId = p.LedgerAccountDrId, }).ToList(); var HeaderCharges = (from p in db.JobInvoiceHeaderCharges where p.HeaderTableId == JobInvoiceLineId.HeaderId join t in db.Charge on p.ChargeId equals t.ChargeId select new HeaderCharges { ChargeCode = t.ChargeCode, Rate = p.Rate, }).ToList(); temp.RHeaderCharges = HeaderCharges; temp.RLineCharges = Charges; return(temp); }
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 List <QAGroupLineLineViewModel> GetJobReceiveQAAttribute(int JobReceiveLineid) { List <QAGroupLineLineViewModel> JobReceiveQAAttribute = (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() join Pp in db.ProductProcess on new { X1 = JobOrderLineTab.ProductId, X2 = JobReceiveHeaderTab.ProcessId } equals new { X1 = Pp.ProductId, X2 = (Pp.ProcessId ?? 0) } into ProductProcessTable from ProductProcessTab in ProductProcessTable.DefaultIfEmpty() join QAGl in db.QAGroupLine on ProductProcessTab.QAGroupId equals QAGl.QAGroupId into QAGroupLineTable from QAGroupLineTab in QAGroupLineTable.DefaultIfEmpty() where L.JobReceiveLineId == JobReceiveLineid && ((int?)QAGroupLineTab.QAGroupLineId ?? 0) != 0 select new QAGroupLineLineViewModel { QAGroupLineId = QAGroupLineTab.QAGroupLineId, DefaultValue = QAGroupLineTab.DefaultValue, Value = QAGroupLineTab.DefaultValue, Name = QAGroupLineTab.Name, DataType = QAGroupLineTab.DataType, ListItem = QAGroupLineTab.ListItem }).ToList(); return(JobReceiveQAAttribute); }
public IQueryable <JobReceivePendingToQAIndex> GetJobReceiveQAAttributeList(int DocTypeId, string Uname) { var DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; var settings = new JobReceiveQASettingsService(db).GetJobReceiveQASettingsForDocument(DocTypeId, DivisionId, SiteId); string[] contraDocTypes = null; if (!string.IsNullOrEmpty(settings.filterContraDocTypes)) { contraDocTypes = settings.filterContraDocTypes.Split(",".ToCharArray()); } else { contraDocTypes = new string[] { "NA" }; } return(from L in db.ViewJobReceiveBalanceForQA join Jrl in db.JobReceiveLine on L.JobReceiveLineId equals Jrl.JobReceiveLineId into JobReceiveLineTable from JobReceiveLineTab in JobReceiveLineTable.DefaultIfEmpty() join H in db.JobReceiveHeader on L.JobReceiveHeaderId equals H.JobReceiveHeaderId into JobReceiveHeaderTable from JobReceiveHeaderTab in JobReceiveHeaderTable.DefaultIfEmpty() orderby JobReceiveHeaderTab.DocDate, JobReceiveHeaderTab.DocNo where JobReceiveHeaderTab.SiteId == SiteId && JobReceiveHeaderTab.DivisionId == DivisionId && (string.IsNullOrEmpty(settings.filterContraDocTypes) ? 1 == 1 : contraDocTypes.Contains(JobReceiveHeaderTab.DocTypeId.ToString())) select new JobReceivePendingToQAIndex { JobReceiveHeaderId = JobReceiveHeaderTab.JobReceiveHeaderId, JobReceiveLineId = L.JobReceiveLineId, DocTypeName = JobReceiveHeaderTab.DocType.DocumentTypeName, DocDate = JobReceiveHeaderTab.DocDate, DocNo = JobReceiveHeaderTab.DocNo, JobWorkerName = JobReceiveHeaderTab.JobWorker.Name, ProductName = JobReceiveLineTab.JobOrderLine.Product.ProductName, ProductUidName = JobReceiveLineTab.ProductUid.ProductUidName, DocTypeId = DocTypeId } ); }