Пример #1
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            try
            {
                using (DEWSRMEntities db = new DEWSRMEntities())
                {
                    int[]       selRows = ((GridView)grdCreditSalesCustomers.MainView).GetSelectedRows();
                    DataRowView oCreditSalesCustomerD = (DataRowView)(((GridView)grdCreditSalesCustomers.MainView).GetRow(selRows[0]));

                    int        nCreditSalesCustomerID = Convert.ToInt32(oCreditSalesCustomerD["CreditSalesID"]);
                    CreditSale oCreditSalesCustomer   = db.CreditSales.FirstOrDefault(p => p.CreditSalesID == nCreditSalesCustomerID);

                    if (oCreditSalesCustomer == null)
                    {
                        MessageBox.Show("select an item to edit", "Item not yet selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    FCreditSale frm = new FCreditSale();
                    frm.ShowDlg(oCreditSalesCustomer, false, "Edit");
                    RefreshList();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #2
0
        private void btnOnlyPaid_Click(object sender, EventArgs e)
        {
            try
            {
                _oFCreditSale = new FCreditSale();
                int[]       selRows = ((GridView)grdCreditSalesCustomers.MainView).GetSelectedRows();
                DataRowView oCreditSalesCustomerD = (DataRowView)(((GridView)grdCreditSalesCustomers.MainView).GetRow(selRows[0]));

                int nCreditSalesCustomerID = Convert.ToInt32(oCreditSalesCustomerD["CreditSalesID"]);


                if (nCreditSalesCustomerID > 0)
                {
                    CreditSale oCreditSalesCustomer = db.CreditSales.FirstOrDefault(p => p.CreditSalesID == nCreditSalesCustomerID);
                    if (oCreditSalesCustomer != null)
                    {
                        _oFCreditSale.ShowDlg(oCreditSalesCustomer, false, "OnlyPaid");
                    }
                }
                RefreshList();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #3
0
        private void btnNew_Click(object sender, EventArgs e)
        {
            try
            {
                CreditSale oCreditSale = new CreditSale();
                _oFCreditSale = new FCreditSale();

                if (_oFCreditSale.ShowDlg(oCreditSale, true, "New"))
                {
                    RefreshList();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #4
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            try
            {
                int[]       selRows  = ((GridView)grdCreditSalesCustomers.MainView).GetSelectedRows();
                DataRowView oSalesID = (DataRowView)(((GridView)grdCreditSalesCustomers.MainView).GetRow(selRows[0]));

                int nSalesID = Convert.ToInt32(oSalesID["CreditSalesID"]);


                if (nSalesID > 0)
                {
                    CreditSale  oCreditSale  = db.CreditSales.FirstOrDefault(cs => cs.CreditSalesID == nSalesID);
                    FCreditSale oFCreditSale = new FCreditSale();
                    oFCreditSale.DisplayInvoice(oCreditSale, db.Products);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #5
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            //#region Summary
            //if (chkSummary.Checked)
            //{
            //    try
            //    {
            //        using (DEWSRMEntities db = new DEWSRMEntities())
            //        {

            //            fReportViewer fRptViewer = new fReportViewer();
            //            CreditSale oCreditSales = new CreditSale();

            //            //DateTime fromDate = new DateTime(dtpFromDate.Value.Year, dtpFromDate.Value.Month, 1);
            //            //DateTime toDate = fromDate.AddMonths(1);
            //            //toDate = toDate.AddDays(-1);

            //            DateTime fromDate = dtpFromDate.Value;
            //            DateTime toDate = dtpToDate.Value;

            //            string sFFdate = fromDate.ToString("dd MMM yyyy") + " 12:00:00 AM";
            //            string sTTdate = toDate.ToString("dd MMM yyyy") + " 11:59:59 PM";
            //            dFFdate = Convert.ToDateTime(sFFdate);
            //            dTTdate = Convert.ToDateTime(sTTdate);

            //            var oCSalesDetails = (
            //                           from cs in db.CreditSales
            //                           join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
            //                           join cus in db.Customers on cs.CustomerID equals cus.CustomerID
            //                           //join pro in db.Products on cs.ProductID equals pro.ProductID
            //                           where (csd.PaymentDate >= dFFdate && csd.PaymentDate <= dTTdate)
            //                           select new
            //                           {


            //                               cs.InvoiceNo,
            //                               cs.CreditSalesID,
            //                               cus.Name,
            //                               cus.RefName,
            //                               cus.ContactNo,
            //                               // pro.ProductName,
            //                               cs.SalesDate,
            //                               csd.PaymentDate,
            //                               cs.TSalesAmt,
            //                               cs.NetAmount,
            //                               cs.FixedAmt,
            //                               cs.NoOfInstallment,
            //                               Remaining = cs.TSalesAmt - cs.DownPayment,

            //                               csd.InstallmentAmt,
            //                               csd.Remarks,
            //                               cs.DownPayment,
            //                               InsRec = cs.TSalesAmt - cs.DownPayment - cs.Remaining,
            //                               TotalRec = cs.TSalesAmt - cs.Remaining,
            //                               closing = cs.Remaining
            //                           }
            //                          );

            //            var oCSalesDetailsPaid = (
            //                           from cs in db.CreditSales
            //                           join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
            //                           join cus in db.Customers on cs.CustomerID equals cus.CustomerID
            //                           //join pro in db.Products on cs.ProductID equals pro.ProductID
            //                           where (csd.PaymentDate >= dFFdate && csd.PaymentDate <= dTTdate) && csd.PaymentStatus == "Paid"
            //                           select new
            //                           {
            //                               cs.InvoiceNo,
            //                               cs.CreditSalesID,
            //                               cus.Name,
            //                               cus.ContactNo,
            //                               // pro.ProductName,
            //                               cs.SalesDate,
            //                               csd.PaymentDate,
            //                               cs.TSalesAmt,
            //                               cs.NetAmount,
            //                               cs.FixedAmt,
            //                               cs.NoOfInstallment,
            //                               Remaining = cs.TSalesAmt - cs.DownPayment,

            //                               csd.InstallmentAmt,
            //                               csd.Remarks,
            //                               cs.DownPayment,
            //                               InsRec = cs.TSalesAmt - cs.DownPayment - cs.Remaining,
            //                               TotalRec = cs.TSalesAmt - cs.Remaining,
            //                               closing = cs.Remaining
            //                           }
            //                          );

            //            var oCSalesDetailsDue = (
            //                           from cs in db.CreditSales
            //                           join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
            //                           join cus in db.Customers on cs.CustomerID equals cus.CustomerID
            //                           //join pro in db.Products on cs.ProductID equals pro.ProductID
            //                           where (csd.PaymentDate >= dFFdate && csd.PaymentDate <= dTTdate) && csd.PaymentStatus == "Due"
            //                           select new
            //                           {
            //                               cs.InvoiceNo,
            //                               cs.CreditSalesID,
            //                               cus.Name,
            //                               cus.ContactNo,
            //                               // pro.ProductName,
            //                               cs.SalesDate,
            //                               csd.PaymentDate,
            //                               cs.TSalesAmt,
            //                               cs.NetAmount,
            //                               cs.FixedAmt,
            //                               cs.NoOfInstallment,
            //                               Remaining = cs.TSalesAmt - cs.DownPayment,
            //                               csd.InstallmentAmt,
            //                               csd.Remarks,
            //                               cs.DownPayment,

            //                               InsRec = cs.TSalesAmt - cs.DownPayment - cs.Remaining,
            //                               TotalRec = cs.TSalesAmt - cs.Remaining,
            //                               closing = cs.Remaining
            //                           }
            //                          );
            //            var oCSDs = oCSalesDetails.ToList();
            //            var oCSDsPaid = oCSalesDetailsPaid.ToList();
            //            var oCSDsDue = oCSalesDetailsDue.ToList();

            //            double TotalInstallment = 0;
            //            double PaidInstallment = 0;
            //            double UnPaidInstallment = 0;

            //            foreach (var oCSDItem in oCSDs)
            //            {

            //                TotalInstallment = TotalInstallment + (double)oCSDItem.InstallmentAmt;
            //                //dt.Rows.Add(oCSDItem.InvoiceNo, oCSDItem.Name, oCSDItem.ContactNo, joinedString, oCSDItem.SalesDate, oCSDItem.PaymentDate, oCSDItem.TSalesAmt, oCSDItem.NetAmount, oCSDItem.FixedAmt, oCSDItem.NoOfInstallment, oCSDItem.Remaining, oCSDItem.InstallmentAmt, oCSDItem.Remarks, oCSDItem.DownPayment, oCSDItem.InsRec, oCSDItem.TotalRec, oCSDItem.closing);
            //            }

            //            foreach (var oCSDItem in oCSDsPaid)
            //            {

            //                PaidInstallment = PaidInstallment + (double)oCSDItem.InstallmentAmt;


            //                //dt.Rows.Add(oCSDItem.InvoiceNo, oCSDItem.Name, oCSDItem.ContactNo, joinedString, oCSDItem.SalesDate, oCSDItem.PaymentDate, oCSDItem.TSalesAmt, oCSDItem.NetAmount, oCSDItem.FixedAmt, oCSDItem.NoOfInstallment, oCSDItem.Remaining, oCSDItem.InstallmentAmt, oCSDItem.Remarks, oCSDItem.DownPayment, oCSDItem.InsRec, oCSDItem.TotalRec, oCSDItem.closing);
            //            }

            //            foreach (var oCSDItem in oCSDsDue)
            //            {

            //                UnPaidInstallment = UnPaidInstallment + (double)oCSDItem.InstallmentAmt;


            //                //dt.Rows.Add(oCSDItem.InvoiceNo, oCSDItem.Name, oCSDItem.ContactNo, joinedString, oCSDItem.SalesDate, oCSDItem.PaymentDate, oCSDItem.TSalesAmt, oCSDItem.NetAmount, oCSDItem.FixedAmt, oCSDItem.NoOfInstallment, oCSDItem.Remaining, oCSDItem.InstallmentAmt, oCSDItem.Remarks, oCSDItem.DownPayment, oCSDItem.InsRec, oCSDItem.TotalRec, oCSDItem.closing);
            //            }
            //            rptDataSet.dtScheduleDataTable dt = new rptDataSet.dtScheduleDataTable();
            //            DataSet ds = new DataSet();
            //            dt.Rows.Add(toDate, TotalInstallment, PaidInstallment, UnPaidInstallment, 0);

            //            dt.TableName = "rptDataSet_dtSchedule";
            //            ds.Tables.Add(dt);
            //            string embededResource = "INVENTORY.UI.RDLC.Schedule.rdlc";

            //            ReportParameter rParam = new ReportParameter();
            //            List<ReportParameter> parameters = new List<ReportParameter>();

            //            rParam = new ReportParameter("PaymentDate", dFFdate.ToString("dd MMM yyyy"));
            //            parameters.Add(rParam);



            //            rParam = new ReportParameter("PrintedBy", Global.CurrentUser.UserName);
            //            parameters.Add(rParam);

            //            fReportViewer frm = new fReportViewer();

            //            if (dt.Rows.Count > 0)
            //            {
            //                frm.CommonReportViewer(embededResource, ds, parameters, true);
            //            }
            //            else
            //            {
            //                MessageBox.Show("No Recors Found.", "Report", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //            }

            //        }
            //    }
            //    catch (Exception ex)
            //    {
            //        MessageBox.Show(ex.Message);
            //    }


            //}
            //#endregion

            #region Details
            //else
            //{
            try
            {
                using (DEWSRMEntities db = new DEWSRMEntities())
                {
                    fReportViewer fRptViewer   = new fReportViewer();
                    CreditSale    oCreditSales = new CreditSale();
                    //DateTime fromDate = new DateTime(dtpFromDate.Value.Year, dtpFromDate.Value.Month, 1);
                    //DateTime toDate = fromDate.AddMonths(1);
                    //toDate = toDate.AddDays(-1);

                    //DateTime fromDate = new DateTime(dtpFromDate.Value.Year, dtpFromDate.Value.Month, 1);
                    //DateTime toDate = fromDate.AddMonths(1);
                    //toDate = toDate.AddDays(-1);

                    DateTime fromDate = dtpFromDate.Value;
                    DateTime toDate   = dtpToDate.Value;

                    string sFFdate = fromDate.ToString("dd MMM yyyy") + " 12:00:00 AM";
                    string sTTdate = toDate.ToString("dd MMM yyyy") + " 11:59:59 PM";
                    dFFdate = Convert.ToDateTime(sFFdate);
                    dTTdate = Convert.ToDateTime(sTTdate);



                    #region Credit Sales

                    var oCSalesDetails = (
                        from cs in db.CreditSales
                        join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
                        join cus in db.Customers on cs.CustomerID equals cus.CustomerID
                        where (csd.PaymentDate <= dTTdate && csd.PaymentStatus == "Due" && csd.RemindDateForInstallment == null)
                        select new
                    {
                        EmployeeID = 1,
                        Name = cus.Code + "," + cus.Name + "," + cus.Address + "," + cus.ContactNo,
                        cs.InvoiceNo,
                        cs.CreditSalesID,
                        cus.Code,
                        cus.CustomerID,
                        EMPName = "",
                        RefName = cus.RefName + "," + cus.RefContact,
                        cus.ContactNo,
                        cus.Address,
                        cs.SalesDate,
                        csd.PaymentDate,
                        cs.TSalesAmt,
                        cs.NetAmount,
                        cs.FixedAmt,
                        cs.NoOfInstallment,
                        Remaining = cs.TSalesAmt - cs.DownPayment,
                        csd.PaymentStatus,
                        csd.Remarks,
                        cs.DownPayment,
                        InsRec = cs.TSalesAmt - cs.DownPayment - cs.Remaining,
                        TotalRec = cs.TSalesAmt - cs.Remaining,
                        closing = cs.Remaining,
                        InstallmentAmt = csd.InstallmentAmt.Value,
                        csd.RemindDateForInstallment
                    }
                        ).ToList();

                    var oCSalesDetailsForRemindDate = (
                        from cs in db.CreditSales
                        join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
                        join cus in db.Customers on cs.CustomerID equals cus.CustomerID
                        where (csd.RemindDateForInstallment <= dTTdate && csd.PaymentStatus == "Due" && csd.RemindDateForInstallment != null)
                        select new
                    {
                        EmployeeID = 1,
                        Name = cus.Code + "," + cus.Name + "," + cus.Address + "," + cus.ContactNo,
                        cs.InvoiceNo,
                        cs.CreditSalesID,
                        cus.Code,
                        cus.CustomerID,
                        EMPName = "",
                        cus.RefName,
                        cus.ContactNo,
                        cus.Address,
                        cs.SalesDate,
                        csd.PaymentDate,
                        cs.TSalesAmt,
                        cs.NetAmount,
                        cs.FixedAmt,
                        cs.NoOfInstallment,
                        Remaining = cs.TSalesAmt - cs.DownPayment,
                        csd.PaymentStatus,
                        csd.Remarks,
                        cs.DownPayment,
                        InsRec = cs.TSalesAmt - cs.DownPayment - cs.Remaining,
                        TotalRec = cs.TSalesAmt - cs.Remaining,
                        closing = cs.Remaining,
                        InstallmentAmt = csd.InstallmentAmt.Value,
                        csd.RemindDateForInstallment
                    }
                        ).ToList();
                    oCSalesDetails.AddRange(oCSalesDetailsForRemindDate);
                    var oCSalesDetailsSorting = oCSalesDetails.OrderByDescending(o => o.PaymentDate);

                    var oCSalesDetailsGroup = (from csd in oCSalesDetailsSorting
                                               group csd by new
                    {
                        csd.EMPName,
                        csd.EmployeeID,
                        csd.Code,
                        csd.Name,
                        csd.CustomerID,
                        csd.RefName,
                        csd.ContactNo,
                        csd.Address,

                        csd.CreditSalesID,
                        csd.SalesDate,
                        //  csd.PaymentDate,
                        csd.InvoiceNo,
                        csd.TSalesAmt,
                        csd.DownPayment,
                        csd.NetAmount,
                        csd.FixedAmt,
                        csd.NoOfInstallment,
                        csd.Remaining,                               // Remaining after Downpayment
                        csd.Remarks,
                        csd.closing,                                 // remainig field
                        csd.InsRec,
                        csd.TotalRec,
                    } into g
                                               select new
                    {
                        g.Key.EMPName,
                        g.Key.EmployeeID,
                        g.Key.Code,
                        g.Key.Name,
                        g.Key.CustomerID,
                        g.Key.DownPayment,
                        g.Key.InvoiceNo,
                        g.Key.RefName,
                        g.Key.ContactNo,
                        g.Key.Address,
                        g.Key.SalesDate,
                        //  g.Key.PaymentDate,
                        g.Key.CreditSalesID,
                        g.Key.TSalesAmt,
                        g.Key.Remaining,
                        g.Key.NetAmount,
                        g.Key.FixedAmt,
                        g.Key.NoOfInstallment,
                        g.Key.Remarks,
                        g.Key.closing,                                 // remainig field
                        g.Key.InsRec,
                        g.Key.TotalRec,
                        TotalPaymentDue = g.Sum(o => o.InstallmentAmt),

                        PaymentDate = g.Select(o => o.PaymentDate).FirstOrDefault()
                    }
                                               );


                    var oCSDs = oCSalesDetailsGroup.ToList();
                    rptDataSet.dtUpcomingScheduleDataTable dt = new rptDataSet.dtUpcomingScheduleDataTable();
                    DataSet ds = new DataSet();



                    if (ctlEmployee.SelectedID != 0)
                    {
                        oCSDs = oCSDs.Where(o => o.EmployeeID == ctlEmployee.SelectedID).ToList();
                    }

                    foreach (var oCSDItem in oCSDs)
                    {
                        decimal defaultInstallment = 0m;


                        var deafult = oCSalesDetails.Where(o => o.PaymentDate < dFFdate && o.RemindDateForInstallment == null && o.CustomerID == oCSDItem.CustomerID);

                        if (deafult.ToList().Count != 0)
                        {
                            defaultInstallment = deafult.Sum(o => o.InstallmentAmt);
                        }

                        var deafultForRemind = oCSalesDetails.Where(o => o.RemindDateForInstallment < dFFdate && o.RemindDateForInstallment != null && o.CustomerID == oCSDItem.CustomerID);
                        if (deafultForRemind.ToList().Count != 0)
                        {
                            defaultInstallment = defaultInstallment + deafultForRemind.Sum(o => o.InstallmentAmt);
                        }

                        DateTime?RemindDate = oCSalesDetails.Where(o => o.PaymentDate >= dFFdate && o.PaymentDate <= dTTdate && o.CustomerID == oCSDItem.CustomerID).Select(o => o.RemindDateForInstallment).FirstOrDefault();
                        var      oCSP       = (from CSP in db.CreditSaleProducts
                                               join P in db.Products on CSP.ProductID equals P.ProductID
                                               where (CSP.CreditSalesID == oCSDItem.CreditSalesID)
                                               select new
                        {
                            P.ProductName
                        });

                        string joinedString = string.Join(",", oCSP.Select(p => p.ProductName));

                        dt.Rows.Add(
                            oCSDItem.EMPName,
                            oCSDItem.InvoiceNo,
                            oCSDItem.Code,
                            oCSDItem.Name,
                            oCSDItem.RefName,
                            oCSDItem.ContactNo,
                            oCSDItem.Address,
                            joinedString,
                            oCSDItem.SalesDate,
                            oCSDItem.PaymentDate,
                            oCSDItem.TSalesAmt,
                            oCSDItem.NetAmount,
                            oCSDItem.FixedAmt,
                            oCSDItem.NoOfInstallment,
                            oCSDItem.Remaining,
                            Math.Round((decimal)oCSDItem.TotalPaymentDue, 0),
                            oCSDItem.InsRec, oCSDItem.Remarks,
                            oCSDItem.DownPayment,
                            oCSDItem.InsRec,
                            oCSDItem.TotalRec,
                            oCSDItem.closing,
                            RemindDate,
                            Math.Round((decimal)defaultInstallment, 0)
                            );
                    }
                    #endregion

                    #region Get Sales By Remind Date. Date: 11-12-18

                    var tempCashCollection = (from so in db.CashCollections
                                              join c in db.Customers on so.CustomerID equals c.CustomerID
                                              where (c.TotalDue > 0 && so.CompanyID == null && (so.RemindDate >= dFFdate && so.RemindDate <= dTTdate && so.RemindPeriod != 0))
                                              select new
                    {
                        c.CustomerID,
                        Code = c.Code,
                        Name = c.Code + "," + c.Name + "," + c.Address + "," + c.ContactNo,
                        RefName = c.RefName + "," + c.RefContact,
                        ContactNo = c.ContactNo,
                        Address = c.Address,
                        TotalDue = c.TotalDue,
                        SOrderID = so.CashCollectionID,
                        InvoiceNo = so.ReceiptNo,
                        OrderInovice = so.ReceiptNo.Substring(4),
                        InvoiceDate = so.EntryDate,
                        so.RemindDate,
                        TotalAmount = 0m,
                        ProductName = "",
                        SType = "Cash"
                    }).OrderByDescending(i => i.InvoiceDate).ThenByDescending(i => i.OrderInovice).ToList();


                    var tempSales = (from so in db.SOrders
                                     join sod in db.SOrderDetails on so.SOrderID equals sod.SOrderID
                                     join p in db.Products on sod.ProductID equals p.ProductID
                                     join c in db.Customers on so.CustomerID equals c.CustomerID
                                     where (c.TotalDue > 0 && so.Status == (int)EnumSalesType.Sales && (so.RemindDate >= dFFdate && so.RemindDate <= dTTdate && so.RemindPeriod != 0))
                                     select new
                    {
                        c.CustomerID,
                        Code = c.Code,
                        Name = c.Code + "," + c.Name + "," + c.Address + "," + c.ContactNo,
                        RefName = c.RefName + "," + c.RefContact,
                        ContactNo = c.ContactNo,
                        Address = c.Address,
                        TotalDue = c.TotalDue,
                        so.SOrderID,
                        so.InvoiceNo,
                        OrderInovice = so.InvoiceNo.Substring(4),
                        so.InvoiceDate,
                        so.RemindDate,
                        so.TotalAmount,

                        p.ProductName,
                        SType = "Cash"
                    }).OrderByDescending(i => i.InvoiceDate).ThenByDescending(i => i.OrderInovice).ToList();

                    tempSales.AddRange(tempCashCollection);
                    tempSales = tempSales.OrderByDescending(o => o.InvoiceDate).ToList();

                    var temp2Sales = (from so in tempSales
                                      group so by new { so.CustomerID, so.Code, so.Name, so.ContactNo, so.Address, so.TotalDue, so.InvoiceDate, so.TotalAmount, so.RefName } into g
                                      select new
                    {
                        g.Key.CustomerID,
                        g.Key.Code,
                        g.Key.ContactNo,
                        g.Key.Name,
                        g.Key.RefName,
                        g.Key.Address,
                        g.Key.TotalDue,
                        SOrderID = g.Select(o => o.SOrderID).FirstOrDefault(),
                        InvoiceNo = g.Select(o => o.InvoiceNo).FirstOrDefault(),
                        InvoiceDate = g.Key.InvoiceDate,
                        RemindDate = g.Select(o => o.RemindDate).FirstOrDefault(),
                        TotalAmount = g.Key.TotalAmount,
                        ProductName = g.Select(i => i.ProductName).ToList(),
                        SType = g.Select(o => o.SType).FirstOrDefault(),
                    });

                    var Sales = (from so in temp2Sales
                                 group so by new { so.CustomerID, so.Code, so.Name, so.ContactNo, so.Address, so.TotalDue } into g
                                 select new
                    {
                        g.Key.CustomerID,
                        g.Key.Code,
                        g.Key.ContactNo,
                        g.Key.Name,
                        g.Key.Address,
                        g.Key.TotalDue,
                        SOrderID = g.Select(i => i.SOrderID).FirstOrDefault(),
                        InvoiceNo = g.Select(i => i.InvoiceNo).FirstOrDefault(),
                        InvoiceDate = g.Select(i => i.InvoiceDate).FirstOrDefault(),
                        RemindDate = g.Select(i => i.RemindDate).FirstOrDefault(),
                        TotalAmount = g.Select(i => i.TotalAmount).FirstOrDefault(),
                        ProductNameList = g.Select(i => i.ProductName).FirstOrDefault()
                    });
                    DataRow row         = null;
                    string  ProductName = string.Empty;
                    int     Counter     = 0;


                    foreach (var item in Sales)
                    {
                        row                    = dt.NewRow();
                        row["Employee"]        = "";
                        row["InvoiceNo"]       = item.InvoiceNo;
                        row["Code"]            = item.Code;
                        row["CustomerName"]    = item.Name;
                        row["RefName"]         = "";
                        row["ContactNo"]       = item.ContactNo;
                        row["CustomerAddress"] = item.Address;
                        foreach (var sitem in item.ProductNameList)
                        {
                            Counter++;
                            if (sitem.Count() == Counter)
                            {
                                ProductName = ProductName + sitem;
                            }
                            else
                            {
                                ProductName = ProductName + sitem + Environment.NewLine;
                            }
                        }
                        row["ProductName"] = ProductName;
                        row["SalesDate"]   = item.InvoiceDate;
                        // row["PaymentDate"] = item.RemindDate;
                        row["SalesPrice"]         = item.TotalAmount;
                        row["NetAmt"]             = item.TotalAmount;
                        row["TotalAmt"]           = item.TotalAmount;
                        row["NoOfInstallment"]    = 0m;
                        row["RemainingAmt"]       = item.TotalDue;
                        row["Installment"]        = 0m;
                        row["CurrentPaid"]        = 0m;
                        row["Remarks"]            = "";
                        row["DownPayment"]        = 0m;
                        row["InsRec"]             = 0m;
                        row["TotalRec"]           = 0m;
                        row["Closing"]            = item.TotalDue;
                        row["RemindDate"]         = item.RemindDate;
                        row["DefaultInstallment"] = 0m;
                        dt.Rows.Add(row);
                        Counter     = 0;
                        ProductName = string.Empty;
                    }
                    #endregion

                    dt.TableName = "rptDataSet_dtUpcomingSchedule";
                    ds.Tables.Add(dt);
                    string embededResource = "INVENTORY.UI.RDLC.UpComingSchedule.rdlc";

                    ReportParameter        rParam     = new ReportParameter();
                    List <ReportParameter> parameters = new List <ReportParameter>();

                    //rParam = new ReportParameter("PaymentDate", dFFdate.ToString("dd MMM yyyy"));
                    //parameters.Add(rParam);

                    rParam = new ReportParameter("DateRange", "Installment From : " + fromDate.ToString("dd MMM yyyy") + " to " + toDate.ToString("dd MMM yyyy"));
                    parameters.Add(rParam);

                    rParam = new ReportParameter("PrintedBy", Global.CurrentUser.UserName);
                    parameters.Add(rParam);

                    fReportViewer frm = new fReportViewer();

                    if (dt.Rows.Count > 0)
                    {
                        frm.CommonReportViewer(embededResource, ds, parameters, true);
                    }
                    else
                    {
                        MessageBox.Show("No Recors Found.", "Report", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //}
            #endregion
        }
Пример #6
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            try
            {
                using (DEWSRMEntities db = new DEWSRMEntities())
                {
                    fReportViewer fRptViewer   = new fReportViewer();
                    CreditSale    oCreditSales = new CreditSale();

                    string dFromDate = dtpFromDate.Text + " 12:00:00 AM";
                    string sToDate   = dtpToDate.Text + " 11:59:59 PM";
                    dFFdate = Convert.ToDateTime(dFromDate);
                    dTTdate = Convert.ToDateTime(sToDate);

                    var oCSalesDetails = (from cs in db.CreditSales
                                          join csd in db.CreditSalesDetails on cs.CreditSalesID equals csd.CreditSalesID
                                          join cus in db.Customers on cs.CustomerID equals cus.CustomerID
                                          //join pro in db.Products on cs.ProductID equals pro.ProductID
                                          where (csd.PaymentDate >= dFFdate && csd.PaymentDate <= dTTdate) && csd.PaymentStatus == "Paid"
                                          select new
                    {
                        cs.InvoiceNo,
                        cus.Code,
                        Name = cus.Name + "," + cus.Address + "," + cus.ContactNo,
                        cus.ContactNo,
                        cus.Address,
                        //pro.ProductName,
                        cs.SalesDate,
                        csd.PaymentDate,
                        cs.TSalesAmt,
                        cs.NetAmount,
                        cs.FixedAmt,
                        cs.Remaining,
                        csd.InstallmentAmt,
                        csd.Remarks,
                        cs.DownPayment,
                    }
                                          );

                    var oCSDs = oCSalesDetails.ToList();

                    rptDataSet.dtInstallmentCollectionDataTable dt = new rptDataSet.dtInstallmentCollectionDataTable();
                    DataSet ds = new DataSet();

                    foreach (var oCSDItem in oCSDs)
                    {
                        dt.Rows.Add(
                            oCSDItem.InvoiceNo,
                            oCSDItem.Code,
                            oCSDItem.Name,
                            oCSDItem.ContactNo,
                            oCSDItem.Address,
                            oCSDItem.SalesDate,
                            oCSDItem.PaymentDate,
                            oCSDItem.TSalesAmt,
                            oCSDItem.NetAmount,
                            oCSDItem.FixedAmt,
                            oCSDItem.Remaining,
                            oCSDItem.InstallmentAmt,
                            oCSDItem.Remarks,
                            oCSDItem.DownPayment
                            );
                    }

                    dt.TableName = "rptDataSet_dtInstallmentCollection";
                    ds.Tables.Add(dt);
                    string embededResource = "INVENTORY.UI.RDLC.InstallmentCollection.rdlc";

                    ReportParameter        rParam     = new ReportParameter();
                    List <ReportParameter> parameters = new List <ReportParameter>();

                    //rParam = new ReportParameter("PaymentDate", dFFdate.ToString("dd MMM yyyy"));
                    //parameters.Add(rParam);

                    rParam = new ReportParameter("PrintedBy", Global.CurrentUser.UserName);
                    parameters.Add(rParam);

                    fReportViewer frm = new fReportViewer();

                    if (dt.Rows.Count > 0)
                    {
                        frm.CommonReportViewer(embededResource, ds, parameters, true);
                    }
                    else
                    {
                        MessageBox.Show("No Recors Found.", "Report", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #7
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            try
            {
                using (DEWSRMEntities db = new DEWSRMEntities())
                {
                    fReportViewer fRptViewer   = new fReportViewer();
                    CreditSale    oCreditSales = new CreditSale();
                    string        dFromDate    = dtpFromDate.Text + " 12:00:00 AM";
                    string        sToDate      = dtpToDate.Text + " 11:59:59 PM";
                    dFFdate = Convert.ToDateTime(dFromDate);
                    dTTdate = Convert.ToDateTime(sToDate);

                    var oCaSales = (from cs in db.SOrders
                                    where (cs.InvoiceDate >= dFFdate && cs.InvoiceDate <= dTTdate)
                                    select new
                    {
                        cs.InvoiceDate,
                        cs.GrandTotal,
                        cs.RecAmount,
                        cs.TDAmount,
                        cs.PaymentDue,
                    }
                                    );

                    var oCSales = (from cs in db.CreditSales
                                   where (cs.SalesDate >= dFFdate && cs.SalesDate <= dTTdate)
                                   select new
                    {
                        cs.SalesDate,
                        cs.TSalesAmt,
                        cs.NetAmount,
                        cs.Discount,
                        cs.Remaining,
                        cs.FixedAmt,
                        cs.DownPayment
                    }
                                   );
                    var oCSalesDetails = (from csd in db.CreditSalesDetails
                                          where ((csd.PaymentDate >= dFFdate && csd.PaymentDate <= dTTdate) && csd.PaymentStatus == "Paid")
                                          select new
                    {
                        csd.PaymentDate,
                        csd.InstallmentAmt,
                    }
                                          );

                    var oExpense = (from csd in db.Expenditures
                                    where (csd.EntryDate >= dFFdate && csd.EntryDate <= dTTdate)
                                    select new
                    {
                        csd.EntryDate,
                        csd.Amount,
                    }
                                    ).ToList();

                    var oCashCollections = (from csd in db.CashCollections
                                            where (csd.EntryDate >= dFFdate && csd.EntryDate <= dTTdate && csd.TransactionType == (int)EnumTranType.FromCustomer)
                                            select new
                    {
                        csd.EntryDate,
                        csd.Amount,
                    }
                                            ).ToList();

                    var oCaSs    = oCaSales.ToList();
                    var oCSs     = oCSales.ToList();
                    var oCSDs    = oCSalesDetails.ToList();
                    var oCaSsSum = oCaSs.GroupBy(x => 1).Select(x => new
                    {
                        TCaSales = x.Sum(k => k.GrandTotal),
                        TCaDis   = x.Sum(k => k.TDAmount),
                        TCaDue   = x.Sum(k => k.PaymentDue),
                        TCaRec   = x.Sum(k => k.RecAmount)
                    }).ToList();
                    var oCSSum = oCSs.GroupBy(x => 1).Select(x => new
                    {
                        TSales   = x.Sum(k => k.TSalesAmt),
                        TDis     = x.Sum(k => k.Discount),
                        TdownPay = x.Sum(k => k.DownPayment),
                        TRemain  = x.Sum(k => k.Remaining),
                        TFixed   = x.Sum(k => k.FixedAmt)
                    }).ToList();

                    var oCSDSum = oCSDs.GroupBy(x => 1).Select(x => new
                    {
                        TInstallments = x.Sum(k => k.InstallmentAmt),
                    }).ToList();
                    var oExpSum = oExpense.GroupBy(x => 1).Select(x => new
                    {
                        TAmount = x.Sum(k => k.Amount),
                    }).ToList();
                    var oCashCollectionsSum = oCashCollections.GroupBy(x => 1).Select(x => new
                    {
                        TCashAmount = x.Sum(k => k.Amount),
                    }).ToList();

                    rptDataSet.dtSummaryReportDataTable dt = new rptDataSet.dtSummaryReportDataTable();
                    DataSet ds = new DataSet();
                    DataRow dr = null;

                    dr = dt.NewRow();

                    if (oCaSsSum.Count > 0)
                    {
                        dr["SellingPriceCash"]   = oCaSsSum[0].TCaSales;
                        dr["ReceivedAmountCash"] = oCaSsSum[0].TCaRec;
                        dr["DiscountAmountCash"] = oCaSsSum[0].TCaDis;
                        dr["PaymentDueCash"]     = oCaSsSum[0].TCaDue;
                    }
                    else
                    {
                        dr["SellingPriceCash"]   = 0;
                        dr["ReceivedAmountCash"] = 0;
                        dr["DiscountAmountCash"] = 0;
                        dr["PaymentDueCash"]     = 0;
                    }

                    if (oCSSum.Count > 0)
                    {
                        dr["SellingPriceCredit"]    = oCSSum[0].TSales;
                        dr["ReceivedAmountDownPay"] = oCSSum[0].TdownPay;
                        dr["DiscountAmountCredit"]  = oCSSum[0].TDis;
                        dr["RemainigAmountCredit"]  = oCSSum[0].TRemain;
                        dr["ReceivedAmountFixed"]   = oCSSum[0].TFixed;
                    }
                    else
                    {
                        dr["SellingPriceCredit"]    = 0;
                        dr["ReceivedAmountDownPay"] = 0;
                        dr["DiscountAmountCredit"]  = 0;
                        dr["RemainigAmountCredit"]  = 0;
                        dr["ReceivedAmountFixed"]   = 0;
                    }

                    if (oCSDSum.Count > 0)
                    {
                        dr["ReceivedAmountCredit"] = oCSDSum[0].TInstallments;
                    }
                    else
                    {
                        dr["ReceivedAmountCredit"] = 0;
                    }

                    if (oExpSum.Count > 0)
                    {
                        dr["ExpenseAmount"] = oExpSum[0].TAmount;
                    }
                    else
                    {
                        dr["ExpenseAmount"] = 0;
                    }
                    if (oCashCollectionsSum.Count > 0)
                    {
                        dr["CashCollectionAmount"] = oCashCollectionsSum[0].TCashAmount;
                    }
                    else
                    {
                        dr["CashCollectionAmount"] = 0;
                    }
                    dt.Rows.Add(dr);

                    dt.TableName = "rptDataSet_dtSummaryReport";
                    ds.Tables.Add(dt);
                    string embededResource = "INVENTORY.UI.RDLC.rptSummaryReport.rdlc";

                    ReportParameter        rParam     = new ReportParameter();
                    List <ReportParameter> parameters = new List <ReportParameter>();

                    rParam = new ReportParameter("Date", dFFdate.ToString("dd MMM yyyy"));
                    parameters.Add(rParam);

                    rParam = new ReportParameter("ToDate", dTTdate.ToString("dd MMM yyyy"));
                    parameters.Add(rParam);

                    rParam = new ReportParameter("PrintedBy", Global.CurrentUser.UserName);
                    parameters.Add(rParam);

                    fReportViewer frm = new fReportViewer();

                    if (dt.Rows.Count > 0)
                    {
                        frm.CommonReportViewer(embededResource, ds, parameters, true);
                    }
                    else
                    {
                        MessageBox.Show("No Recors Found.", "Report", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #8
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                CreditSale oCreditSale = new CreditSale();
                _oFCreditSale = new FCreditSale();

                List <Stock>       oStockList  = db.Stocks.ToList();
                List <StockDetail> oStockDList = db.StockDetails.ToList();

                int[]       selRows = ((GridView)grdCreditSalesCustomers.MainView).GetSelectedRows();
                DataRowView oCreditSalesCustomerD = (DataRowView)(((GridView)grdCreditSalesCustomers.MainView).GetRow(selRows[0]));

                int nCreditSalesCustomerID = Convert.ToInt32(oCreditSalesCustomerD["CreditSalesID"]);

                Product     oProduct     = null;
                Stock       oStock       = null;
                StockDetail oStockDetail = null;

                if (nCreditSalesCustomerID > 0)
                {
                    oCreditSale = db.CreditSales.FirstOrDefault(p => p.CreditSalesID == nCreditSalesCustomerID);
                    if (oCreditSale != null)
                    {
                        if (MessageBox.Show("Do you want to return the selected item?", "Return Item", MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            List <CreditSaleProduct> CSP = db.CreditSaleProducts.Where(cp => cp.CreditSalesID == oCreditSale.CreditSalesID).ToList();

                            foreach (CreditSaleProduct item in CSP)
                            {
                                oProduct     = db.Products.FirstOrDefault(i => i.ProductID == item.ProductID);
                                oStockDetail = oStockDList.FirstOrDefault(sd => sd.SDetailID == item.StockDetailID);

                                if (oStockDetail != null)
                                {
                                    oStock = oStockList.FirstOrDefault(o => o.ProductID == item.ProductID && o.StockID == oStockDetail.StockID);
                                }

                                oStock.Quantity     = (decimal)(oStock.Quantity + item.Quantity);
                                oStockDetail.Status = (int)EnumStockDetailStatus.Stock;
                                if (oProduct.ProductType == (int)EnumProductType.NoBarCode)
                                {
                                    oStockDetail.Quantity += (decimal)item.Quantity;
                                }

                                //Stock oStock = db.Stocks.FirstOrDefault(o => o.ProductID == item.ProductID && o.ColorID == item.ColorInfoID);
                            }

                            List <CreditSalesDetail> CSD = db.CreditSalesDetails.Where(o => o.CreditSalesID == oCreditSale.CreditSalesID).ToList();
                            foreach (CreditSalesDetail oCSD in CSD)
                            {
                                db.CreditSalesDetails.Attach(oCSD);
                                db.CreditSalesDetails.Remove(oCSD);
                            }

                            foreach (CreditSaleProduct oCSP in CSP)
                            {
                                db.CreditSaleProducts.Attach(oCSP);
                                db.CreditSaleProducts.Remove(oCSP);
                            }

                            #region Customer Due Amount Update

                            Customer oCustomer = db.Customers.FirstOrDefault(c => c.CustomerID == oCreditSale.CustomerID);
                            if (oCustomer != null)
                            {
                                oCustomer.CreditDue = (decimal)(oCustomer.CreditDue - oCreditSale.Remaining);
                            }
                            #endregion

                            db.CreditSales.Attach(oCreditSale);
                            db.CreditSales.Remove(oCreditSale);
                            if (oCreditSale.BankTranID != 0)
                            {
                                ReturnBankDepositTransaction(oCreditSale.BankTranID);
                            }

                            db.SaveChanges();
                            RefreshList();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #9
0
        private void RefreshList()
        {
            DataTable dt = new DataTable();
            DataRow   dr = null;

            dt.Columns.Add("CreditSalesID");
            dt.Columns.Add("Code");
            dt.Columns.Add("InvoiceNo");
            dt.Columns.Add("SalesDate");
            dt.Columns.Add("Customer");
            dt.Columns.Add("ContactNo");
            dt.Columns.Add("Address");
            dt.Columns.Add("TotalPrice");
            dt.Columns.Add("DPayment");
            dt.Columns.Add("Remaining");
            dt.Columns.Add("Status");


            try
            {
                using (DEWSRMEntities db = new DEWSRMEntities())
                {
                    CreditSale oCSales      = new CreditSale();
                    var        _CreditSales = db.CreditSales.Where(i => i.Status == (int)EnumSalesType.Sales && i.Remaining != 0).OrderByDescending(cs => cs.SalesDate).ToList();

                    Customer oCustomer = new Customer();
                    _CustomerList = db.Customers.ToList();

                    Product oPConfig = new Product();
                    _ProductList = db.Products.ToList();

                    foreach (CreditSale oCSItem in _CreditSales)
                    {
                        oCustomer           = _CustomerList.FirstOrDefault(s => s.CustomerID == oCSItem.CustomerID);
                        dr                  = dt.NewRow();
                        dr["CreditSalesID"] = oCSItem.CreditSalesID;
                        dr["Code"]          = oCustomer.Code;
                        dr["InvoiceNo"]     = oCSItem.InvoiceNo;
                        dr["SalesDate"]     = ((DateTime)oCSItem.SalesDate).ToString("dd MMM yyyy");


                        dr["Customer"]  = oCustomer.Name;
                        dr["ContactNo"] = oCustomer.ContactNo;
                        dr["Address"]   = oCustomer.Address;

                        //Product oPro = _ProductList.FirstOrDefault(s => s.ProductID == oCSItem.ProductID);
                        //if (oPro != null)
                        //    oItem.SubItems.Add(oPro.ProductName);
                        //else
                        //    oItem.SubItems.Add("");

                        dr["TotalPrice"] = oCSItem.TSalesAmt.ToString();
                        dr["DPayment"]   = oCSItem.DownPayment;
                        dr["remaining"]  = oCSItem.Remaining;

                        if ((bool)oCSItem.ISUnexpected)
                        {
                            dr["status"] = "Unexpected";
                        }
                        else
                        {
                            dr["status"] = "Normal";
                        }
                        dt.Rows.Add(dr);
                    }
                    grdCreditSalesCustomers.DataSource = dt;
                    lblTotal.Text = "Total :" + _CreditSales.Count().ToString();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }