Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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;
            }
        }