public UnitOfWork(RestaurantContext context) { _context = context; Adjustments = new AdjustmentRepository(_context); AdjustmentsItems = new AdjustmentItemRepository(_context); Branches = new BranchRepository(_context); Categories = new CategoryRepository(_context); Customers = new CustomerRepository(_context); Deliveries = new DeliveryRepository(_context); DeliveryItems = new DeliveryItemRepository(_context); Divisions = new DivisionRepository(_context); Expirations = new ExpirationRepository(_context); Groups = new GroupRepository(_context); Stocks = new InventoryItemRepository(_context); Locations = new LocationRepository(_context); Units = new MeasurementUnitRepository(_context); Productions = new ProductionRepository(_context); Ingredients = new ProductionItemRepository(_context); Products = new ProductRepository(_context); Purchases = new PurchaseRepository(_context); PurchaseItems = new PurchaseItemRepository(_context); PurchaseOrders = new PurchaseOrderRepository(_context); PurchaseOrderItems = new PurchaseOrderItemRepository(_context); SalesInvoices = new SalesInvoiceRepository(_context); SalesInvoiceItems = new SalesInvoiceItemRepository(_context); Suppliers = new SupplierRepository(_context); Transfers = new TransferRepository(_context); TransferItems = new TransferItemRepository(_context); Wastages = new WastageRepository(_context); WastageItems = new WastageItemRepository(_context); Workers = new WorkerRepository(_context); ItemLocation = new ItemLocationRepository(_context); StockHistory = new StockHistoryRepository(_context); Currencies = new CurrencyRepository(_context); }
public ActionResult Create(List <SalesInvoiceItem> ObjSaleInvoiceItem) { ObjSaleInvoiceItem = ObjSaleInvoiceItem.Where(x => x.SelectStatus).Select(x => x).ToList(); SalesInvoice saleinvoice = new SalesInvoice(); SalesInvoiceRepository SalesInvoiceRepo = new SalesInvoiceRepository(); SalesInvoiceItemRepository SalesInvoiceItemRepo = new SalesInvoiceItemRepository(); if (ObjSaleInvoiceItem.Count > 0) { List <int> SelectedSaleOrderItemId = (from SalesInvoiceItem s in ObjSaleInvoiceItem where s.SelectStatus select s.SaleOrderItemId).ToList <int>(); saleinvoice = SalesInvoiceRepo.GetSelectedSalesInvoiceHD(ObjSaleInvoiceItem[0].SaleOrderId, ObjSaleInvoiceItem[0].invType); saleinvoice.InvoiceType = ObjSaleInvoiceItem[0].invType; string internalId = ""; if (saleinvoice.InvoiceType == "Inter") { internalId = DatabaseCommonRepository.GetNextDocNo(44, OrganizationId); } else { internalId = DatabaseCommonRepository.GetNextDocNo(7, OrganizationId); } saleinvoice.SalesInvoiceDate = System.DateTime.Today; saleinvoice.SalesInvoiceRefNo = internalId; saleinvoice.SaleInvoiceItems = SalesInvoiceItemRepo.GetSelectedSalesInvoiceDT(SelectedSaleOrderItemId, ObjSaleInvoiceItem[0].SaleOrderId); //SalesInvoiceRepository SalesInvoiceRepo = new SalesInvoiceRepository(); //SalesInvoice saleinvoice = SalesInvoiceRepo.GetSelectedSalesInvoiceHD(SelectedSaleOrderItemId); //int deliveryChallanId = new DeliveryChallanRepository().GetDeliveryChallanIdFromJobCardId() //saleinvoice.PrintDescriptions = new SalesInvoiceRepository().GetPrintDescriptions(SelectedSaleOrderItemId); saleinvoice.PrintDescriptions = new List <PrintDescription>(); var PrintDescriptionsFromDB = new SalesInvoiceRepository().GetPrintDescriptions(SelectedSaleOrderItemId); //combining same print descriptions foreach (var item in PrintDescriptionsFromDB) { if (!saleinvoice.PrintDescriptions.Select(x => x.Description.Trim()).Contains(item.Description.Trim())) { item.Quantity = PrintDescriptionsFromDB.Where(x => x.Description.Trim() == item.Description.Trim()).Count(); item.Amount = (item.Quantity ?? 0) * item.PriceEach; saleinvoice.PrintDescriptions.Add(item); } } // } if (saleinvoice.InvoiceType == "Inter") { saleinvoice.isProjectBased = 1; if (saleinvoice.PrintDescriptions == null || saleinvoice.PrintDescriptions.Count == 0) { saleinvoice.PrintDescriptions.Add(new PrintDescription()); } } else if (saleinvoice.InvoiceType == "Final") { saleinvoice.isProjectBased = 0; } return(View("Create", saleinvoice)); }
public ActionResult InvoiceReport(int Id) { ReportDocument rd = new ReportDocument(); //rd.Load(Path.Combine(Server.MapPath("~/Reports"), "SalesInvoice.rpt")); DataSet ds = new DataSet(); ds.Tables.Add("Head"); ds.Tables.Add("Items"); ds.Tables.Add("DeliveryChallans"); #region creating Head table ds.Tables["Head"].Columns.Add("SalesInvoiceRefNo"); ds.Tables["Head"].Columns.Add("SalesInvoiceDate"); ds.Tables["Head"].Columns.Add("VehicleOutPassNo"); ds.Tables["Head"].Columns.Add("CustomerName"); ds.Tables["Head"].Columns.Add("Address"); ds.Tables["Head"].Columns.Add("CustomerOrderRef"); ds.Tables["Head"].Columns.Add("PaymentTerms"); ds.Tables["Head"].Columns.Add("RegistrationNo"); ds.Tables["Head"].Columns.Add("JobCardNo"); ds.Tables["Head"].Columns.Add("TotalAmount"); ds.Tables["Head"].Columns.Add("Image1"); ds.Tables["Head"].Columns.Add("OrganizationName"); ds.Tables["Head"].Columns.Add("OrganizationRefNo"); ds.Tables["Head"].Columns.Add("DoorNo"); ds.Tables["Head"].Columns.Add("Street"); ds.Tables["Head"].Columns.Add("State"); ds.Tables["Head"].Columns.Add("Country"); ds.Tables["Head"].Columns.Add("Currency"); ds.Tables["Head"].Columns.Add("Phone"); ds.Tables["Head"].Columns.Add("Fax"); ds.Tables["Head"].Columns.Add("Email"); ds.Tables["Head"].Columns.Add("ContactPerson"); ds.Tables["Head"].Columns.Add("Zip"); ds.Tables["Head"].Columns.Add("CreateUser"); ds.Tables["Head"].Columns.Add("CreateSig"); ds.Tables["Head"].Columns.Add("CreatedDes"); ds.Tables["Head"].Columns.Add("ApproveUser"); ds.Tables["Head"].Columns.Add("ApproveSig"); ds.Tables["Head"].Columns.Add("ApproveDes"); ds.Tables["Head"].Columns.Add("JobCardNum"); #endregion #region creating Item Table ds.Tables["Items"].Columns.Add("PrintDescription"); ds.Tables["Items"].Columns.Add("Quantity"); ds.Tables["Items"].Columns.Add("UoM"); ds.Tables["Items"].Columns.Add("PriceEach"); ds.Tables["Items"].Columns.Add("Amount"); #endregion #region creating DeliveryChallans Table ds.Tables["DeliveryChallans"].Columns.Add("DeliveryChallanRefNo"); ds.Tables["DeliveryChallans"].Columns.Add("JobCardNo"); ds.Tables["DeliveryChallans"].Columns.Add("Chassiss_RegNo"); #endregion #region store data to Head table SalesInvoiceRepository repo = new SalesInvoiceRepository(); var Head = repo.GetSalesInvoiceHdforPrint(Id, OrganizationId); DataRow dr = ds.Tables["Head"].NewRow(); dr["SalesInvoiceRefNo"] = Head.SalesInvoiceRefNo; dr["SalesInvoiceDate"] = Head.SalesInvoiceDate.ToString("dd-MMM-yyyy"); dr["VehicleOutPassNo"] = Head.DeliveryChallanRefNo; dr["CustomerName"] = Head.Customer; dr["Address"] = Head.CustomerAddress; dr["CustomerOrderRef"] = Head.CustomerOrderRef; dr["PaymentTerms"] = Head.PaymentTerms; dr["RegistrationNo"] = Head.RegistrationNo; dr["JobCardNo"] = Head.JobCardNo; dr["TotalAmount"] = Head.TotalAmount; dr["OrganizationName"] = Head.OrganizationName; dr["Image1"] = Server.MapPath("~/App_images/") + Head.Image1; dr["OrganizationRefNo"] = Head.OrganizationRefNo; dr["DoorNo"] = Head.DoorNo; dr["Street"] = Head.Street; dr["State"] = Head.State; dr["Country"] = Head.CountryName; dr["Currency"] = Head.CurrencyName; dr["Phone"] = Head.Phone; dr["Fax"] = Head.Fax; dr["Email"] = Head.Email; dr["ContactPerson"] = Head.ContactPerson; dr["Zip"] = Head.Zip; dr["CreateUser"] = Head.CreateUser; dr["CreateSig"] = Server.MapPath("~/App_images/") + Head.CreateSig; dr["CreatedDes"] = Head.CreatedDes; dr["ApproveUser"] = Head.ApproveUser; dr["ApproveSig"] = Server.MapPath("~/App_images/") + Head.ApproveSig; dr["ApproveDes"] = Head.ApprovedDes; dr["JobCardNum"] = Head.JobCardNum; ds.Tables["Head"].Rows.Add(dr); #endregion #region store data to Items Table SalesInvoiceItemRepository repo1 = new SalesInvoiceItemRepository(); var Items = repo1.GetSalesInvoiceItemforPrint(Id); foreach (var item in Items) { //var InvItem = new SalesInvoiceItem { Quantity = item.Quantity, Rate = item.Rate, Amount = item.Amount, Unit = item.Unit, WorkDescription = item.WorkDescription, WorkDescriptionRefNo = item.WorkDescriptionRefNo }; DataRow dri = ds.Tables["Items"].NewRow(); dri["PrintDescription"] = item.Description; dri["Quantity"] = item.Quantity; dri["PriceEach"] = item.PriceEach; dri["Amount"] = item.Amount; dri["UoM"] = item.UoM; ds.Tables["Items"].Rows.Add(dri); } #endregion #region store data to DeliveryChallans table if (Head.InvoiceType == "Final") { var list = new SalesInvoiceRepository().GetDeliveryChallansFromInvoice(Id); foreach (var item in list) { dr = ds.Tables["DeliveryChallans"].NewRow(); dr["DeliveryChallanRefNo"] = item.DeliveryChallanRefNo; dr["JobCardNo"] = item.JobCardNo; dr["Chassiss_RegNo"] = item.ChassisNo + (item.ChassisNo != "" && item.RegistrationNo != "" ? " - " : "") + item.RegistrationNo; ds.Tables["DeliveryChallans"].Rows.Add(dr); } } #endregion if (Head.InvoiceType == "Final") { rd.Load(Path.Combine(Server.MapPath("~/Reports"), "SalesInvoice.rpt")); ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "SalesInvoice.xml"), XmlWriteMode.WriteSchema); } else { rd.Load(Path.Combine(Server.MapPath("~/Reports"), "InterInvoice.rpt")); ds.WriteXml(Path.Combine(Server.MapPath("~/XML"), "InterInvoice.xml"), XmlWriteMode.WriteSchema); } rd.SetDataSource(ds); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); try { Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "application/pdf"));//, String.Format("SalesInvoice{0}.pdf", Id.ToString())); } catch (Exception ex) { throw; } }