int ISalesOrderRepository.AddUpdateOrder(SalesOrderForm quotationData)
        {
            ISalesOrderBL pqBL = new SalesOrderBL();
            int           i    = pqBL.AddUpdateOrder(quotationData);

            return(i);
        }
        public int ConvertToSalesInvoice(SalesOrderForm quotationData)
        {
            ISalesOrderDAL PQDAL = new SalesOrderDAL();

            return(PQDAL.ConvertToSalesInvoice(quotationData));
        }
        public int ConvertToSalesOrder(SalesOrderForm pqForm)
        {
            ISalesOrderDAL PQDAL = new SalesOrderDAL();

            return(PQDAL.ConvertToSalesOrder(pqForm));
        }
        public int UpdationOrder(SalesOrderForm quotationData)
        {
            ISalesOrderDAL PQDAL = new SalesOrderDAL();

            return(PQDAL.UpdationOrder(quotationData));
        }
Example #5
0
        public SalesOrderForm GetPrintSalesOrder(string pqNo)
        {
            SalesOrderForm pqf = new SalesOrderForm();

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    var pq = (from pqs in entities.SalesOrders
                              join Cus in entities.Customers on pqs.Cus_Id equals Cus.ID
                              where pqs.SO_No == pqNo && (pqs.IsDeleted == false || pqs.IsDeleted == null)
                              select new SalesOrderEntity
                    {
                        ID = pqs.ID,
                        CustomerID = pqs.Cus_Id,
                        CustomerName = Cus.Cus_Name,
                        CustomerBillAddress1 = Cus.Cus_Bill_to_line1,
                        CustomerBillAddress2 = Cus.Cus_Bill_to_line2,
                        CustomerBillAddressCity = Cus.Cus_Bill_to_city,
                        CustomerBillAddressState = Cus.Cus_Bill_to_state,
                        CustomerBillAddressCountary = Cus.Cus_Bill_to_country,
                        CustomerBillPostCode = Cus.Cus_Bill_to_post_code,
                        CustomerShipAddress1 = Cus.Cus_Ship_to_line1,
                        CustomerShipAddress2 = Cus.Cus_Ship_to_line2,
                        CustomerShipAddressCity = Cus.Cus_Ship_to_city,
                        CustomerShipAddressState = Cus.Cus_Ship_to_state,
                        CustomerShipAddressCountary = Cus.Cus_Ship_to_country,
                        CustomerShipPostCode = Cus.Cus_Ship_to_post_code,
                        CustomerTelephone = Cus.Cus_Telephone,
                        OrderNo = pqs.SO_No,
                        OrderDate = pqs.SO_Date,
                        //ValidForDays = pqs.SO_Valid_for,

                        TermsAndConditions = pqs.SO_TandC,
                        TotalBeforeTax = pqs.SO_Tot_bef_Tax,
                        TotalTax = pqs.SO_GST_Amt,
                        TotalAfterTax = pqs.SO_Tot_aft_Tax,
                        ExcIncGST = pqs.Exc_Inc_GST,
                        SO_Conv_to_SI = pqs.SO_Conv_to_SI,
                        DeliveryDate = pqs.SO_Del_Date,
                        Cus_Po_No = pqs.Cus_PO_No,
                        SalesmanID = pqs.Salesman,
                        Status = pqs.SO_Status
                                 //SO_Conv_to_SO = pqs.SO_Conv_to_SO
                    }).SingleOrDefault();

                    if (pq != null)
                    {
                        pqf.Order = pq;
                    }
                    //company details binding data
                    var company = (from com in entities.CompanyDetails
                                   where (com.IsDeleted == false || com.IsDeleted == null)
                                   select new SalesOrderEntity
                    {
                        CompanyName = com.Comp_Name,
                        CompanyLogo = com.Comp_Logo,
                        CompanyRegNumber = com.Comp_Reg_No,
                        CompanyGstNumber = com.Comp_GST_Reg_No,
                        CompanyBillToAddressLine1 = com.Comp_Bill_to_line1,
                        CompanyBillToAddressLine2 = com.Comp_Bill_to_line2,
                        CompanyBillToCity = com.Comp_Bill_to_city,
                        CompanyBillToState = com.Comp_Bill_to_state,
                        CompanyBillToCountary = com.Comp_Bill_to_country,
                        CompanyBillToPostCode = com.Comp_Bill_to_post_code,
                        CompanyEmail = com.Comp_Email,
                        CompanyFax = com.Comp_Fax
                    }).SingleOrDefault();
                    pqf.Order.CompanyName               = company.CompanyName;
                    pqf.Order.CompanyLogo               = company.CompanyLogo;
                    pqf.Order.CompanyRegNumber          = company.CompanyRegNumber;
                    pqf.Order.CompanyGstNumber          = company.CompanyGstNumber;
                    pqf.Order.CompanyBillToAddressLine1 = company.CompanyBillToAddressLine1;
                    pqf.Order.CompanyBillToAddressLine2 = company.CompanyBillToAddressLine2;
                    pqf.Order.CompanyBillToCity         = company.CompanyBillToCity;
                    pqf.Order.CompanyBillToState        = company.CompanyBillToState;
                    pqf.Order.CompanyBillToCountary     = company.CompanyBillToCountary;
                    pqf.Order.CompanyBillToPostCode     = company.CompanyBillToPostCode;
                    pqf.Order.CompanyEmail              = company.CompanyEmail;
                    pqf.Order.CompanyFax = company.CompanyFax;
                    //end of company details binding
                    //option details
                    var optiondata = (from option in entities.Options
                                      select new SalesOrderEntity
                    {
                        CurrencyCode = option.Currency_Code,
                    }).SingleOrDefault();
                    pqf.Order.CurrencyCode = optiondata.CurrencyCode;
                    //end options details
                    var pqd = (from pqds in entities.SalesOrderDetails
                               where pqds.SO_ID == pq.ID
                               select new SalesOrderDetailEntity
                    {
                        ID = pqds.ID,
                        SOID = pqds.SO_ID,
                        SONo = pqds.SO_No,
                        PandSCode = pqds.PandS_Code,
                        PandSName = pqds.PandS_Name,
                        SOQty = pqds.SO_Qty,
                        Price = pqds.SO_Price,
                        SODiscount = pqds.SO_Discount,
                        SOAmount = pqds.SO_Amount,
                        GSTRate = pqds.GST_Rate
                    }).ToList <SalesOrderDetailEntity>();

                    if (pqd != null)
                    {
                        pqf.OrderDetails = pqd;
                    }

                    return(pqf);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #6
0
        /// <summary>
        /// This method is used to get Sales Order details
        /// </summary>
        /// <param name="pqId"></param>
        /// <returns></returns>
        public SalesOrderForm GetSalesOrder(string pqno)
        {
            SalesOrderForm pqf = new SalesOrderForm();

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    var pq = (from pqs in entities.SalesOrders
                              where pqs.SO_No == pqno && (pqs.IsDeleted == false || pqs.IsDeleted == null)
                              select new SalesOrderEntity
                    {
                        ID = pqs.ID,
                        CustomerID = pqs.Cus_Id,
                        OrderNo = pqs.SO_No,
                        OrderDate = pqs.SO_Date,
                        //ValidForDays = pqs.SO_Valid_for,
                        DeletedDate = pqs.SO_Del_Date,
                        TermsAndConditions = pqs.SO_TandC,
                        TotalBeforeTax = pqs.SO_Tot_bef_Tax,
                        TotalTax = pqs.SO_GST_Amt,
                        TotalAfterTax = pqs.SO_Tot_aft_Tax,
                        ExcIncGST = pqs.Exc_Inc_GST,
                        SO_Conv_to_SI = pqs.SO_Conv_to_SI,
                        DeliveryDate = pqs.SO_Del_Date,
                        Cus_Po_No = pqs.Cus_PO_No,
                        SalesmanID = pqs.Salesman,
                        Status = pqs.SO_Status
                                 //SO_Conv_to_SO = pqs.SO_Conv_to_SO
                    }).SingleOrDefault();

                    if (pq != null)
                    {
                        pqf.Order = pq;
                    }


                    var pqd = (from pqds in entities.SalesOrderDetails
                               where pqds.SO_ID == pq.ID
                               select new SalesOrderDetailEntity
                    {
                        ID = pqds.ID,
                        SOID = pqds.SO_ID,
                        SONo = pqds.SO_No,
                        PandSCode = pqds.PandS_Code,
                        PandSName = pqds.PandS_Name,
                        SOQty = pqds.SO_Qty,
                        Price = pqds.SO_Price,
                        SODiscount = pqds.SO_Discount,
                        SOAmount = pqds.SO_Amount,
                        GSTRate = pqds.GST_Rate
                    }).ToList <SalesOrderDetailEntity>();

                    if (pqd != null)
                    {
                        pqf.OrderDetails = pqd;
                    }

                    return(pqf);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #7
0
        /// <summary>
        /// This method is used to convert the Sales order to order
        /// </summary>
        /// <param name="orderData"></param>
        /// <returns></returns>
        public int ConvertToSalesOrder(SalesOrderForm orderData)
        {
            int autoId = 0;
            //Add sales order
            SalesOrder obj = new SalesOrder();

            //obj.ID = orderData.Order.ID;
            obj.Cus_Id         = orderData.Order.CustomerID;
            obj.SO_Date        = orderData.Order.OrderDate;
            obj.SO_Del_Date    = DateTime.Now;
            obj.SO_GST_Amt     = Convert.ToDecimal(orderData.Order.TotalTax);
            obj.SO_No          = "SO-" + GetLastOrderNo();
            obj.SO_TandC       = orderData.Order.TermsAndConditions;
            obj.SO_Tot_aft_Tax = Convert.ToDecimal(orderData.Order.TotalAfterTax);
            obj.SO_Tot_bef_Tax = Convert.ToDecimal(orderData.Order.TotalBeforeTax);

            obj.Exc_Inc_GST = orderData.Order.ExcIncGST;
            obj.IsDeleted   = false;

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    if (entities.SalesOrders.AsNoTracking().FirstOrDefault(x => x.ID == orderData.Order.ID) == null)
                    {
                        //obj.CreatedBy = orderData.SOModel.CreatedBy;
                        obj.CreatedDate = DateTime.Now;
                        entities.SalesOrders.Add(obj);
                        entities.SaveChanges();
                        autoId = obj.ID;
                    }
                    else
                    {
                        // obj.ModifiedBy = orderData.SOModel.ModifiedBy;
                        obj.ModifiedDate          = DateTime.Now;
                        entities.Entry(obj).State = EntityState.Modified;
                        autoId = entities.SaveChanges();
                    }
                    if (autoId > 0)
                    {
                        SalesOrderDetail SODetails;
                        if (orderData.OrderDetails != null)
                        {
                            foreach (SalesOrderDetailEntity SODetailEntity in orderData.OrderDetails)
                            {
                                SODetails             = new SalesOrderDetail();
                                SODetails.SO_ID       = autoId;
                                SODetails.SO_No       = SODetailEntity.SONo;
                                SODetails.PandS_Code  = SODetailEntity.PandSCode;
                                SODetails.PandS_Name  = SODetailEntity.PandSName;
                                SODetails.SO_Amount   = SODetailEntity.SOAmount;
                                SODetails.SO_Discount = SODetailEntity.SODiscount;
                                SODetails.SO_No       = SODetailEntity.SONo;
                                SODetails.SO_Price    = Convert.ToDecimal(SODetailEntity.SOPrice);
                                SODetails.SO_Qty      = SODetailEntity.SOQty;
                                SODetails.GST_Code    = SODetailEntity.GSTCode;
                                SODetails.GST_Rate    = SODetailEntity.GSTRate;

                                if (entities.SalesOrderDetails.AsNoTracking().FirstOrDefault(x => x.ID == SODetailEntity.ID) == null)
                                {
                                    entities.SalesOrderDetails.Add(SODetails);
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    entities.Entry(SODetails).State = EntityState.Modified;
                                    entities.SaveChanges();
                                }
                            }
                        }

                        SalesOrder objQ = entities.SalesOrders.Where(e => e.SO_No == orderData.Order.OrderNo
                                                                     ).SingleOrDefault();
                        if (objQ != null)
                        {
                            //objQ.SO_Conv_to_SO = true;
                            objQ.ModifiedDate = DateTime.Now;
                            entities.SaveChanges();
                        }
                    }
                }
                return(autoId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #8
0
        /// <summary>
        /// This method is used to add or edit sales order
        /// </summary>
        /// <param name="orderData"></param>
        /// <returns></returns>

        public int AddUpdateOrder(SalesOrderForm orderData)
        {
            int autoId = 0;
            //Add sales order
            SalesOrder obj = new SalesOrder();

            obj.ID     = orderData.Order.ID;
            obj.Cus_Id = orderData.Order.CustomerID;
            //obj.SO_Conv_to_SO = orderData.Order.SO_Conv_to_SO;
            obj.SO_Conv_to_SI  = orderData.Order.SO_Conv_to_SI;
            obj.SO_Date        = orderData.Order.OrderDate;
            obj.SO_GST_Amt     = Convert.ToDecimal(orderData.Order.TotalTax);
            obj.SO_No          = orderData.Order.OrderNo;
            obj.SO_TandC       = orderData.Order.TermsAndConditions;
            obj.SO_Tot_aft_Tax = Convert.ToDecimal(orderData.Order.TotalAfterTax);
            obj.SO_Tot_bef_Tax = Convert.ToDecimal(orderData.Order.TotalBeforeTax);
            //obj.SO_Valid_for = orderData.Order.ValidForDays;
            obj.SO_Del_Date = orderData.Order.DeliveryDate;
            obj.Cus_PO_No   = orderData.Order.Cus_Po_No;
            obj.Exc_Inc_GST = orderData.Order.ExcIncGST;
            obj.IsDeleted   = false;

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    if (entities.SalesOrders.AsNoTracking().FirstOrDefault(x => x.ID == orderData.Order.ID) == null)
                    {
                        //obj.CreatedBy = orderData.SOModel.CreatedBy;
                        obj.CreatedDate = DateTime.Now;
                        entities.SalesOrders.Add(obj);
                        entities.SaveChanges();
                        autoId = obj.ID;
                    }
                    else
                    {
                        // obj.ModifiedBy = orderData.SOModel.ModifiedBy;
                        obj.ModifiedDate          = DateTime.Now;
                        entities.Entry(obj).State = EntityState.Modified;
                        autoId = entities.SaveChanges();
                    }
                    if (autoId > 0)
                    {
                        SalesOrderDetail SODetails;
                        if (orderData.OrderDetails != null)
                        {
                            foreach (SalesOrderDetailEntity SODetailEntity in orderData.OrderDetails)
                            {
                                SODetails             = new SalesOrderDetail();
                                SODetails.SO_ID       = autoId;
                                SODetails.SO_No       = SODetailEntity.SONo;
                                SODetails.PandS_Code  = SODetailEntity.PandSCode;
                                SODetails.PandS_Name  = SODetailEntity.PandSName;
                                SODetails.SO_Amount   = SODetailEntity.SOAmount;
                                SODetails.SO_Discount = SODetailEntity.SODiscount;
                                SODetails.SO_No       = SODetailEntity.SONo;
                                SODetails.SO_Price    = Convert.ToDecimal(SODetailEntity.SOPrice);
                                SODetails.SO_Qty      = SODetailEntity.SOQty;
                                SODetails.GST_Code    = SODetailEntity.GSTCode;
                                SODetails.GST_Rate    = SODetailEntity.GSTRate;

                                if (entities.SalesOrderDetails.AsNoTracking().FirstOrDefault(x => x.ID == SODetailEntity.ID) == null)
                                {
                                    entities.SalesOrderDetails.Add(SODetails);
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    entities.Entry(SODetails).State = EntityState.Modified;
                                    entities.SaveChanges();
                                }

                                int PSId = Convert.ToInt32(SODetailEntity.SONo);
                                if (PSId != 0)
                                {
                                    ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId);
                                    if (ps != null)
                                    {
                                        ps.PandS_Qty_for_SO = ps.PandS_Qty_for_SO + SODetailEntity.SOQty;
                                        entities.SaveChanges();
                                    }
                                }
                            }
                        }
                    }
                }
                return(autoId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #9
0
        public int UpdationOrder(SalesOrderForm orderData)
        {
            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    SalesOrder obj = entities.SalesOrders.Where(e => e.SO_No == orderData.Order.OrderNo
                                                                ).SingleOrDefault();
                    if (obj != null)
                    {
                        //obj.ID = orderData.Order.ID;
                        obj.Cus_Id = orderData.Order.CustomerID;
                        // obj.SO_Conv_to_SO = orderData.Order.SO_Conv_to_SO;
                        // obj.SO_Conv_to_SI = orderData.Order.SO_Conv_to_SI;
                        obj.SO_Date        = orderData.Order.OrderDate;
                        obj.SO_GST_Amt     = Convert.ToDecimal(orderData.Order.TotalTax);
                        obj.SO_No          = orderData.Order.OrderNo;
                        obj.SO_TandC       = orderData.Order.TermsAndConditions;
                        obj.SO_Tot_aft_Tax = Convert.ToDecimal(orderData.Order.TotalAfterTax);
                        obj.SO_Tot_bef_Tax = Convert.ToDecimal(orderData.Order.TotalBeforeTax);
                        //obj.SO_Valid_for = orderData.Order.ValidForDays;
                        obj.SO_Del_Date  = orderData.Order.DeliveryDate;
                        obj.Cus_PO_No    = orderData.Order.Cus_Po_No;
                        obj.Exc_Inc_GST  = orderData.Order.ExcIncGST;
                        obj.ModifiedDate = DateTime.Now;
                        entities.SaveChanges();
                    }

                    var objSales = entities.SalesOrderDetails.Where
                                       (e => e.SO_ID == obj.ID).ToList();
                    if (objSales != null)
                    {
                        foreach (var item in objSales)
                        {
                            int PSId = Convert.ToInt32(item.SO_No);
                            if (PSId != 0)
                            {
                                ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId);
                                if (ps != null)
                                {
                                    ps.PandS_Qty_for_SO = ps.PandS_Qty_for_SO - item.SO_Qty;
                                    entities.SaveChanges();
                                }
                            }
                            entities.SalesOrderDetails.Remove(item);
                            entities.SaveChanges();
                        }
                    }
                    SalesOrderDetail SODetails;
                    if (orderData.OrderDetails != null)
                    {
                        foreach (SalesOrderDetailEntity SODetailEntity in orderData.OrderDetails)
                        {
                            SODetails             = new SalesOrderDetail();
                            SODetails.SO_ID       = obj.ID;
                            SODetails.SO_No       = SODetailEntity.SONo;
                            SODetails.PandS_Code  = SODetailEntity.PandSCode;
                            SODetails.PandS_Name  = SODetailEntity.PandSName;
                            SODetails.SO_Amount   = SODetailEntity.SOAmount;
                            SODetails.SO_Discount = SODetailEntity.SODiscount;
                            SODetails.SO_No       = SODetailEntity.SONo;
                            SODetails.SO_Price    = Convert.ToDecimal(SODetailEntity.SOPrice);
                            SODetails.SO_Qty      = SODetailEntity.SOQty;
                            SODetails.GST_Code    = SODetailEntity.GSTCode;
                            SODetails.GST_Rate    = SODetailEntity.GSTRate;

                            entities.SalesOrderDetails.Add(SODetails);
                            entities.SaveChanges();

                            int PSId = Convert.ToInt32(SODetailEntity.SONo);
                            if (PSId != 0)
                            {
                                ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId);
                                if (ps != null)
                                {
                                    ps.PandS_Qty_for_SO = ps.PandS_Qty_for_SO + SODetailEntity.SOQty;
                                    entities.SaveChanges();
                                }
                            }
                        }
                    }
                    return(obj.ID);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public int ConvertToSalesInvoice(SalesOrderForm orderData)
        {
            int autoId = 0;
            //Add sales order
            SalesInvoice obj = new SalesInvoice();

            // obj.ID = orderData.Order.ID;
            obj.Cus_Id  = orderData.Order.CustomerID;
            obj.SI_Date = orderData.Order.OrderDate;

            obj.SI_GST_Amt     = Convert.ToDecimal(orderData.Order.TotalTax);
            obj.SI_No          = "SI-" + (GetLastInvoiceNo() + 1);
            obj.SI_TandC       = orderData.Order.TermsAndConditions;
            obj.SI_Tot_aft_Tax = Convert.ToDecimal(orderData.Order.TotalAfterTax);
            obj.SI_Tot_bef_Tax = Convert.ToDecimal(orderData.Order.TotalBeforeTax);
            obj.SI_Status      = 2;
            obj.Exc_Inc_GST    = orderData.Order.ExcIncGST;
            obj.IsDeleted      = false;

            try
            {
                using (SDNSalesDBEntities entities = new SDNSalesDBEntities())
                {
                    if (entities.SalesInvoices.AsNoTracking().FirstOrDefault(x => x.ID == orderData.Order.ID) == null)
                    {
                        //obj.CreatedBy = orderData.SOModel.CreatedBy;
                        obj.CreatedDate = DateTime.Now;
                        entities.SalesInvoices.Add(obj);
                        entities.SaveChanges();
                        autoId = obj.ID;
                    }
                    else
                    {
                        // obj.ModifiedBy = orderData.SOModel.ModifiedBy;
                        obj.ModifiedDate          = DateTime.Now;
                        entities.Entry(obj).State = EntityState.Modified;
                        autoId = entities.SaveChanges();
                    }
                    if (autoId > 0)
                    {
                        SalesInvoiceDetail SODetails;
                        if (orderData.OrderDetails != null)
                        {
                            foreach (SalesOrderDetailEntity SODetailEntity in orderData.OrderDetails)
                            {
                                SODetails             = new SalesInvoiceDetail();
                                SODetails.SI_ID       = autoId;
                                SODetails.SI_No       = SODetailEntity.SONo;
                                SODetails.PandS_Code  = SODetailEntity.PandSCode;
                                SODetails.PandS_Name  = SODetailEntity.PandSName;
                                SODetails.SI_Amount   = SODetailEntity.SOAmount;
                                SODetails.SI_Discount = SODetailEntity.SODiscount;
                                SODetails.SI_No       = SODetailEntity.SONo;
                                SODetails.SI_Price    = Convert.ToDecimal(SODetailEntity.SOPrice);
                                SODetails.SI_Qty      = SODetailEntity.SOQty;
                                SODetails.GST_Code    = SODetailEntity.GSTCode;
                                SODetails.GST_Rate    = SODetailEntity.GSTRate;

                                if (entities.SalesInvoiceDetails.AsNoTracking().FirstOrDefault(x => x.ID == SODetailEntity.ID) == null)
                                {
                                    entities.SalesInvoiceDetails.Add(SODetails);
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    entities.Entry(SODetails).State = EntityState.Modified;
                                    entities.SaveChanges();
                                }
                                int PSId = Convert.ToInt32(SODetailEntity.SONo);
                                if (PSId != 0)
                                {
                                    ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId);
                                    if (ps != null)
                                    {
                                        ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock + SODetailEntity.SOQty;
                                        entities.SaveChanges();
                                    }
                                }
                            }
                        }

                        SalesOrder objQ = entities.SalesOrders.Where(e => e.SO_No == orderData.Order.OrderNo
                                                                     ).SingleOrDefault();
                        if (objQ != null)
                        {
                            objQ.SO_Conv_to_SI = true;
                            objQ.Conv_to_No    = obj.SI_No;
                            objQ.ModifiedDate  = DateTime.Now;
                            entities.SaveChanges();
                        }
                    }
                }
                return(autoId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void UserControl_LoadedSalesOrder(object sender, RoutedEventArgs e)
        {
            SalesOrderForm sqf = _viewModel.PrintSalesOrder();

            //this is for table grid

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("PandSCode", typeof(string)));
            dt.Columns.Add(new DataColumn("PandSName", typeof(string)));
            dt.Columns.Add(new DataColumn("SOQty", typeof(string)));
            dt.Columns.Add(new DataColumn("Price", typeof(string)));
            dt.Columns.Add(new DataColumn("SODiscount", typeof(string)));
            dt.Columns.Add(new DataColumn("SOAmount", typeof(string)));
            dt.Columns.Add(new DataColumn("GSTRate", typeof(string)));

            //ReportingDataset ds = new ReportingDataset();


            foreach (var item in sqf.OrderDetails)
            {
                DataRow dr = dt.NewRow();
                dr["PandSCode"]  = item.PandSCode;
                dr["PandSName"]  = item.PandSName;
                dr["SOQty"]      = item.SOQty;
                dr["Price"]      = item.Price.ToString();
                dr["SODiscount"] = item.SODiscount;
                dr["SOAmount"]   = item.SOAmount.ToString();
                dr["GSTRate"]    = item.GSTRate.ToString();
                dt.Rows.Add(dr);
            }



            ReportDataSource reportDataSource = new ReportDataSource();

            reportDataSource.Name  = "SalesOrderDataSet"; // Name of the DataSet we set in .rdlc
            reportDataSource.Value = dt;
            // end of product grid code
            DataTable dt4 = new DataTable();

            //for other than table
            dt4.Columns.Add(new DataColumn("TermsAndConditions", typeof(string)));
            dt4.Columns.Add(new DataColumn("TotalBeforeTax", typeof(string)));
            dt4.Columns.Add(new DataColumn("TotalTax", typeof(string)));
            dt4.Columns.Add(new DataColumn("TotalAfterTax", typeof(string)));
            dt4.Columns.Add(new DataColumn("SONo", typeof(string)));
            dt4.Columns.Add(new DataColumn("OrderDate", typeof(string)));
            dt4.Columns.Add(new DataColumn("CusPoNo", typeof(string)));
            dt4.Columns.Add(new DataColumn("DeliveryDate", typeof(string)));

            DataRow dr4 = dt4.NewRow();

            dr4["TermsAndConditions"] = sqf.Order.TermsAndConditions;
            dr4["TotalBeforeTax"]     = sqf.Order.TotalAfterTax;
            dr4["TotalTax"]           = sqf.Order.TotalTax.ToString();
            dr4["TotalAfterTax"]      = sqf.Order.TotalAfterTax.ToString();
            dr4["SONo"]         = sqf.Order.OrderNo;
            dr4["OrderDate"]    = sqf.Order.OrderDate.Date.ToString("dd/M/yyyy");
            dr4["CusPoNo"]      = sqf.Order.Cus_Po_No;
            dr4["DeliveryDate"] = sqf.Order.DeliveryDate.Date.ToString("dd/M/yyyy");
            dt4.Rows.Add(dr4);

            ReportDataSource reportDataSource4 = new ReportDataSource();

            reportDataSource4.Name  = "SalesOrderUniqueRecordDataSet"; // Name of the DataSet we set in .rdlc
            reportDataSource4.Value = dt4;
            // company details
            /*****Define column*****/
            DataTable dt1 = new DataTable();

            dt1.Columns.Add(new DataColumn("CompanyName", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyLogo", typeof(byte[])));
            dt1.Columns.Add(new DataColumn("CompanyRegNumber", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyGstNumber", typeof(string)));
            dt1.Columns.Add(new DataColumn("Telephone", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyFax", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyEmail", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToAddressLine1", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToAddressLine2", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToCity", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToState", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToCountary", typeof(string)));
            dt1.Columns.Add(new DataColumn("CompanyBillToPostCode", typeof(string)));
            /*****End  column*****/
            /*****data part*******/

            DataRow dr1 = dt1.NewRow();

            dr1["CompanyName"]               = sqf.Order.CompanyName;
            dr1["CompanyLogo"]               = sqf.Order.CompanyLogo;
            dr1["CompanyRegNumber"]          = sqf.Order.CompanyRegNumber;
            dr1["CompanyGstNumber"]          = sqf.Order.CompanyGstNumber;
            dr1["Telephone"]                 = sqf.Order.Telephone;
            dr1["CompanyFax"]                = sqf.Order.CompanyFax;
            dr1["CompanyEmail"]              = sqf.Order.CompanyEmail;
            dr1["CompanyBillToAddressLine1"] = sqf.Order.CompanyBillToAddressLine1;
            dr1["CompanyBillToAddressLine2"] = sqf.Order.CompanyBillToAddressLine2;
            dr1["CompanyBillToCity"]         = sqf.Order.CompanyBillToCity;
            dr1["CompanyBillToState"]        = sqf.Order.CompanyBillToState;
            dr1["CompanyBillToCountary"]     = sqf.Order.CompanyBillToCountary;
            dr1["CompanyBillToPostCode"]     = sqf.Order.CompanyBillToPostCode;

            dt1.Rows.Add(dr1);
            /*****data part*******/
            ReportDataSource reportDataSource1 = new ReportDataSource();

            reportDataSource1.Name  = "CompanyDetailDataSet"; // Name of the DataSet we set in .rdlc
            reportDataSource1.Value = dt1;
            // end of company details

            //Customer Details
            /****column defn**/
            DataTable dt2 = new DataTable();

            dt2.Columns.Add(new DataColumn("CustomerName", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillAddress1", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillAddress2", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillAddressCity", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillAddressState", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillAddressCountary", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerBillPostCode", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipAddress1", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipAddress2", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipAddressCity", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipAddressState", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipAddressCountary", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerShipPostCode", typeof(string)));
            dt2.Columns.Add(new DataColumn("CustomerTelephone", typeof(string)));

            /****end column defn**/
            /**data****/
            DataRow dr2 = dt2.NewRow();

            dr2["CustomerName"]                = sqf.Order.CustomerName;
            dr2["CustomerBillAddress1"]        = sqf.Order.CustomerBillAddress1;
            dr2["CustomerBillAddress2"]        = sqf.Order.CustomerBillAddress2;
            dr2["CustomerBillAddressCity"]     = sqf.Order.CustomerBillAddressCity;
            dr2["CustomerBillAddressState"]    = sqf.Order.CustomerBillAddressState;
            dr2["CustomerBillAddressCountary"] = sqf.Order.CustomerBillAddressCountary;
            dr2["CustomerBillPostCode"]        = sqf.Order.CustomerBillPostCode;
            dr2["CustomerShipAddress1"]        = sqf.Order.CustomerShipAddress1;
            dr2["CustomerShipAddress2"]        = sqf.Order.CustomerShipAddress2;
            dr2["CustomerShipAddressCity"]     = sqf.Order.CustomerShipAddressCity;
            dr2["CustomerShipAddressState"]    = sqf.Order.CustomerShipAddressState;
            dr2["CustomerShipAddressCountary"] = sqf.Order.CustomerShipAddressCountary;
            dr2["CustomerShipPostCode"]        = sqf.Order.CustomerShipPostCode;
            dr2["CustomerTelephone"]           = sqf.Order.CustomerTelephone;

            /**end data****/
            dt2.Rows.Add(dr2);
            ReportDataSource reportDataSource2 = new ReportDataSource();

            reportDataSource2.Name  = "CustomerDetailsDataSet"; // Name of the DataSet we set in .rdlc
            reportDataSource2.Value = dt2;
            //End Customer Details

            //option
            DataTable dt3 = new DataTable();

            dt3.Columns.Add(new DataColumn("CurrencyCode", typeof(string)));
            DataRow dr3 = dt3.NewRow();

            dr3["CurrencyCode"] = sqf.Order.CurrencyCode;
            dt3.Rows.Add(dr3);

            ReportDataSource reportDataSource3 = new ReportDataSource();

            reportDataSource3.Name  = "OptionsDataSet"; // Name of the DataSet we set in .rdlc
            reportDataSource3.Value = dt3;
            //end options
            string exefolder  = System.Windows.Forms.Application.StartupPath;
            string reportPath = System.IO.Path.Combine(exefolder, @"SalesOrder.rdlc");

            ReportViewer2.LocalReport.ReportPath = reportPath; // Path of the rdlc file
            ReportViewer2.LocalReport.DataSources.Clear();
            ReportViewer2.LocalReport.DataSources.Add(reportDataSource);
            ReportViewer2.LocalReport.DataSources.Add(reportDataSource1);
            ReportViewer2.LocalReport.DataSources.Add(reportDataSource2);
            ReportViewer2.LocalReport.DataSources.Add(reportDataSource3);
            ReportViewer2.LocalReport.DataSources.Add(reportDataSource4);
            ReportViewer2.RefreshReport();
        }
        public int ConvertToSalesInvoice(SalesOrderForm quotationData)
        {
            ISalesOrderBL pqBL = new SalesOrderBL();

            return(pqBL.ConvertToSalesInvoice(quotationData));
        }
        public int ConvertToSalesOrder(SalesOrderForm pqForm)
        {
            ISalesOrderBL pqBL = new SalesOrderBL();

            return(pqBL.ConvertToSalesOrder(pqForm));
        }
        public int UpdationOrder(SalesOrderForm quotationData)
        {
            ISalesOrderBL pqBL = new SalesOrderBL();

            return(pqBL.UpdationOrder(quotationData));
        }