Ejemplo n.º 1
0
        private void home_Load(object sender, EventArgs e)
        {
            //comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            //comboBox1.a
            // comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            //  AutoCompleteStringCollection combData = new AutoCompleteStringCollection();
            //getData(combData);
            // comboBox1.AutoCompleteCustomSource = combData;



            _PhamaPOSEntities = _dbConnector.getConn();
            var Ds = _PhamaPOSEntities.items;
            // .Where(a => a.itemCode.ToString().Contains(comboBox1.Text) || a.itemDescription.Contains(comboBox1.Text))


            var itemCount = Ds.Count();

            if (itemCount > 0)
            {
                comboBox1.DataSource = Ds
                                       .Select(a => new
                {
                    value = a.itemCode,
                    desc  = a.itemDescription + "-->" + a.itemCode
                }).ToList();

                comboBox1.ValueMember   = "value";
                comboBox1.DisplayMember = "desc";
            }
        }
Ejemplo n.º 2
0
        private void getAllStat(DateTime dateFrom, DateTime dateTo)
        {
            _PhamaPOSEntities = _dbConnector.getConn();
            List <saleBatch> allSaleBatches = new List <saleBatch>();

            if (dateFrom == dateTo)
            {
                allSaleBatches = _PhamaPOSEntities.saleBatches.Where(a => EntityFunctions.TruncateTime(a.saleDate) == EntityFunctions.TruncateTime(dateFrom)).ToList();
            }
            else
            {
                allSaleBatches = _PhamaPOSEntities.saleBatches.Where(a => EntityFunctions.TruncateTime(a.saleDate) >= EntityFunctions.TruncateTime(dateFrom) && EntityFunctions.TruncateTime(a.saleDate) <= EntityFunctions.TruncateTime(dateTo)).ToList();
            }
            if (allSaleBatches.Count() > 0)
            {
                lbltotalSales.Text = string.Format("{0:n0}", allSaleBatches.Sum(a => a.subTotal).ToString("#,##0"));
                lblNettSales.Text  = string.Format("{0:n0}", allSaleBatches.Sum(a => a.grandTotal).ToString("#,##0"));
                lblProfit.Text     = string.Format("{0:n0}", allSaleBatches.Sum(a => a.discountedAmount).ToString("#,##0"));
            }
            else
            {
                lbltotalSales.Text = "N/A";
                lblNettSales.Text  = "N/A";
                lblProfit.Text     = "N/A";
            }
        }
Ejemplo n.º 3
0
        private void FillDetailsByBatchId()
        {
            int  batchId;
            bool result = int.TryParse(drpBatch.SelectedValue.ToString(), out batchId);

            if (result)
            {
                _PhamaPOSEntities = _dbConnector.getConn();
                var batchData = _PhamaPOSEntities.stocks.Where(a => a.stockId == batchId).FirstOrDefault();
                if (batchData != null)
                {
                    txtQty.Text       = batchData.runningQuantity.ToString();
                    txtUnitPrice.Text = batchData.itemUnitPriceSelling.ToString();
                    txtEDate.Value    = batchData.stockExpDate;
                }
                else
                {
                    MessageBox.Show("No Stock found..");
                }
            }
            else
            {
                MessageBox.Show("Invalid Selection..");
            }
        }
        private void getAllItems()
        {
            _PhamaPOSEntities = _dbConnector.getConn();
            List <item> _itemList = new List <item>();

            tblItems.Rows.Clear();
            grdItem.DataSource = tblItems;
            _itemList          = _PhamaPOSEntities.items.ToList();
            foreach (item i in _itemList)
            {
                DataRow dr = tblItems.NewRow();
                dr["Item Code"]        = i.itemCode.ToString().PadLeft(4, '0');
                dr["Item Name"]        = i.itemDescription;
                dr["Item Description"] = i.itemCallingName;
                dr["Item Unit"]        = i.unit.unitCode;
                dr["Item Status"]      = i.itemStatus == true ? "Available" : "Not Available";
                dr["Stock Available"]  = i.stocks.Sum(a => a.runningQuantity);
                //  dr["Stock Value"] =i.stocks.Count!=0? ((int)(i.stocks.Average(a => a.itemUnitPriceSelling) * i.stocks.Sum(a => a.runningQuantity))):0.00;
                dr["Stock Value"] = i.stocks.Count != 0 ? (
                    i.stocks.Select(a => new
                {
                    value = a.itemUnitPriceSelling * a.runningQuantity
                }).Sum(a => a.value)
                    ) : (decimal)0.00;
                dr["Stock Cost"]  = i.stocks.Count != 0 ? ((int)(i.stocks.Average(a => a.itemUnitPriceBuying) * i.stocks.Sum(a => a.runningQuantity))) : 0.00;
                dr["Expiry Date"] = i.stocks.Count != 0 ? i.stocks.OrderByDescending(a => a.stockExpDate).FirstOrDefault().stockExpDate:DateTime.MinValue;
                tblItems.Rows.Add(dr);
            }

            LoadAllStockValue();
            grdItem.Refresh();
        }
Ejemplo n.º 5
0
        public login()
        {
            InitializeComponent();

            _dbConnector      = new dbConnector();
            _phamaPOSEntities = _dbConnector.getConn();
        }
        private void LoadAllStockValue()
        {
            _PhamaPOSEntities = _dbConnector.getConn();
            decimal ttlVal =
                _PhamaPOSEntities.stocks.Select(a => new
            {
                value = a.itemUnitPriceSelling * a.runningQuantity
            }).Sum(a => a.value);

            label2.Text = "Total Stock Value : " + ttlVal.ToString("#,##0");
        }
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                textBox1.Text     = "";
                checkBox2.Checked = false;
                checkBox3.Checked = false;


                _PhamaPOSEntities = _dbConnector.getConn();
                List <item> _itemList = new List <item>();
                tblItems.Rows.Clear();
                grdItem.DataSource = tblItems;
                _itemList          = _PhamaPOSEntities.items
                                     .Where(a => a.stocks.Count > 0 && a.stocks.OrderByDescending(b => b.stockExpDate).FirstOrDefault().stockExpDate < EntityFunctions.AddMonths(DateTime.Now, 6) && a.itemStatus == true)
                                     .OrderBy(a => a.stocks.OrderBy(b => b.stockId).FirstOrDefault().stockExpDate)
                                     .ToList();
                foreach (item i in _itemList)
                {
                    DataRow dr = tblItems.NewRow();
                    dr["Item Code"]        = i.itemCode.ToString().PadLeft(4, '0');
                    dr["Item Name"]        = i.itemDescription;
                    dr["Item Description"] = i.itemCallingName;
                    dr["Item Unit"]        = i.unit.unitCode;
                    dr["Item Status"]      = i.itemStatus == true ? "Available" : "Not Available";
                    dr["Stock Available"]  = i.stocks.Sum(a => a.runningQuantity);
                    // dr["Stock Value"] = i.stocks.Count != 0 ? ((int)(i.stocks.Average(a => a.itemUnitPriceSelling) * i.stocks.Sum(a => a.runningQuantity))) : 0.00;
                    dr["Stock Value"] = i.stocks.Count != 0 ? (
                        i.stocks.Select(a => new
                    {
                        value = a.itemUnitPriceSelling * a.runningQuantity
                    }).Sum(a => a.value)
                        ) : (decimal)0.00;
                    dr["Stock Cost"]  = i.stocks.Count != 0 ? ((int)(i.stocks.Average(a => a.itemUnitPriceBuying) * i.stocks.Sum(a => a.runningQuantity))) : 0.00;
                    dr["Expiry Date"] = i.stocks.Count != 0 ? i.stocks.OrderByDescending(a => a.stockExpDate).FirstOrDefault().stockExpDate : DateTime.MinValue;
                    tblItems.Rows.Add(dr);
                }
                grdItem.Sort(this.grdItem.Columns["Expiry Date"], ListSortDirection.Ascending);
                grdItem.Refresh();
            }
            else
            {
                getAllItems();
            }
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string searchString = textBox1.Text;

            checkBox1.Checked = false;
            checkBox2.Checked = false;
            checkBox3.Checked = false;

            _PhamaPOSEntities = _dbConnector.getConn();
            tblItems.Rows.Clear();
            List <item> _itemList = new List <item>();

            grdItem.DataSource = tblItems;
            if (searchString.Length > 0)
            {
                _itemList = _PhamaPOSEntities.items.Where(a => a.itemDescription.ToLower().Contains(searchString.ToLower())).ToList();
            }
            else
            {
                _itemList = _PhamaPOSEntities.items.ToList();
            }
            foreach (item i in _itemList)
            {
                DataRow dr = tblItems.NewRow();
                dr["Item Code"]        = i.itemCode.ToString().PadLeft(4, '0');
                dr["Item Name"]        = i.itemDescription;
                dr["Item Description"] = i.itemCallingName;
                dr["Item Unit"]        = i.unit.unitCode;
                dr["Item Status"]      = i.itemStatus == true ? "Available" : "Not Available";
                dr["Stock Available"]  = i.stocks.Sum(a => a.runningQuantity);
                //dr["Stock Value"] = i.stocks.Count != 0 ? ((int)(i.stocks.Average(a => a.itemUnitPriceSelling) * i.stocks.Sum(a => a.runningQuantity))) : 0.00;
                dr["Stock Value"] = i.stocks.Count != 0 ? (
                    i.stocks.Select(a => new {
                    value = a.itemUnitPriceSelling * a.runningQuantity
                }).Sum(a => a.value)
                    ) : (decimal)0.00;

                dr["Stock Cost"]  = i.stocks.Count != 0 ? ((int)(i.stocks.Average(a => a.itemUnitPriceBuying) * i.stocks.Sum(a => a.runningQuantity))) : 0.00;
                dr["Expiry Date"] = i.stocks.Count != 0 ? i.stocks.OrderByDescending(a => a.stockExpDate).FirstOrDefault().stockExpDate : DateTime.MinValue;


                tblItems.Rows.Add(dr);
            }
            grdItem.Refresh();
        }
Ejemplo n.º 9
0
        private void getData(AutoCompleteStringCollection dataCollection)
        {
            _PhamaPOSEntities = _dbConnector.getConn();
            var Ds        = _PhamaPOSEntities.items;
            var itemCount = Ds.Count();

            if (itemCount > 0)
            {
                foreach (item item in Ds.ToList())
                {
                    dataCollection.Add(item.itemCode + "-->" + item.itemDescription);
                }
            }
            //string connetionString = null;
            //SqlConnection connection;
            //SqlCommand command;
            //SqlDataAdapter adapter = new SqlDataAdapter();
            //DataSet ds = new DataSet();
            //connetionString = "Data Source=.;Initial Catalog=pubs;User ID=sa;password=zen412";
            //string sql = "SELECT DISTINCT [fname] FROM [employee]";
            //connection = new SqlConnection(connetionString);
            //try
            //{
            //    connection.Open();
            //    command = new SqlCommand(sql, connection);
            //    adapter.SelectCommand = command;
            //    adapter.Fill(ds);
            //    adapter.Dispose();
            //    command.Dispose();
            //    connection.Close();
            //    foreach (DataRow row in ds.Tables[0].Rows)
            //    {
            //        dataCollection.Add(row[0].ToString());
            //    }
            //}
            //catch (Exception ex)
            //{
            //    MessageBox.Show("Can not open connection ! ");
            //}
        }
Ejemplo n.º 10
0
 private void FillDetailsByBatchId()
 {
     if (radioUpdate.Checked)
     {
         int  batchId;
         bool result = int.TryParse(drpBatch.SelectedValue.ToString(), out batchId);
         if (result)
         {
             _PhamaPOSEntities = _dbConnector.getConn();
             var batchData = _PhamaPOSEntities.stocks.Where(a => a.stockId == batchId).FirstOrDefault();
             txtQty.Text          = batchData.runningQuantity.ToString();
             txtUnitPrice.Text    = batchData.itemUnitPriceBuying.ToString();
             txtSellingPrice.Text = batchData.itemUnitPriceSelling.ToString();
             txtAddingDate.Value  = batchData.stockReceivedDate;
             txtEDate.Value       = batchData.stockExpDate;
             txtMDate.Value       = (DateTime)batchData.stockMfdDate;
         }
         else
         {
             MessageBox.Show("Invalid Selection..");
         }
     }
 }
Ejemplo n.º 11
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (radioAddNew.Checked)
                {
                    string   code         = txtItemCode.Text;
                    string   Quantity     = txtQty.Text;
                    string   UnitPrice    = txtUnitPrice.Text;
                    string   SellingPrice = txtSellingPrice.Text;
                    DateTime addedDate    = txtAddingDate.Value.Date;
                    DateTime expDate      = txtEDate.Value.Date;
                    DateTime mfDate       = txtMDate.Value.Date;

                    int icode = Convert.ToInt32(code);
                    if (code != "" && Quantity != "" && UnitPrice != "" && SellingPrice != "")
                    {
                        _PhamaPOSEntities = _dbConnector.getConn();
                        int   itemId = _PhamaPOSEntities.items.Where(a => a.itemCode == icode).FirstOrDefault().itemId;
                        stock _stock = new stock();
                        _stock.itemId               = itemId;
                        _stock.isAvailable          = true;
                        _stock.entryDate            = DateTime.Now;
                        _stock.entryBy              = _user.userName;
                        _stock.itemUnitPriceBuying  = Convert.ToDecimal(UnitPrice);
                        _stock.itemUnitPriceSelling = Convert.ToDecimal(SellingPrice);
                        _stock.runningQuantity      = Convert.ToInt32(Quantity);
                        _stock.stockExpDate         = expDate;
                        _stock.stockMfdDate         = mfDate;
                        _stock.StockQuantity        = Convert.ToInt32(Quantity);
                        _stock.stockReceivedDate    = addedDate;

                        _PhamaPOSEntities.stocks.Add(_stock);
                        _PhamaPOSEntities.SaveChanges();
                        ClearFields();
                        MessageBox.Show("Stock Successfully added..");
                        if (itemCode != null)
                        {
                            this.Dispose();
                            addItem i = new addItem(_user);
                            i.Show();
                        }
                        else
                        {
                            this.Dispose();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Please Fill All the mandetary fields..");
                    }
                }
                else
                {
                    string   code         = txtItemCode.Text;
                    string   Quantity     = txtQty.Text;
                    string   UnitPrice    = txtUnitPrice.Text;
                    string   SellingPrice = txtSellingPrice.Text;
                    DateTime addedDate    = txtAddingDate.Value.Date;
                    DateTime expDate      = txtEDate.Value.Date;
                    DateTime mfDate       = txtMDate.Value.Date;
                    int      batchId      = Convert.ToInt32(drpBatch.SelectedValue);
                    int      icode        = Convert.ToInt32(code);
                    if (code != "" && Quantity != "" && UnitPrice != "" && SellingPrice != "")
                    {
                        _PhamaPOSEntities = _dbConnector.getConn();
                        var _stock = _PhamaPOSEntities.stocks.Where(a => a.stockId == batchId).FirstOrDefault();

                        _stock.stockExpDate         = expDate;
                        _stock.runningQuantity      = Convert.ToInt32(Quantity);
                        _stock.itemUnitPriceBuying  = Convert.ToDecimal(UnitPrice);
                        _stock.itemUnitPriceSelling = Convert.ToDecimal(SellingPrice);
                        _stock.stockMfdDate         = mfDate;
                        _stock.StockQuantity        = Convert.ToInt32(Quantity);

                        _PhamaPOSEntities.stocks.Attach(_stock);
                        var entry = _PhamaPOSEntities.Entry(_stock);

                        entry.Property(a => a.runningQuantity).IsModified      = true;
                        entry.Property(a => a.itemUnitPriceBuying).IsModified  = true;
                        entry.Property(a => a.itemUnitPriceSelling).IsModified = true;
                        entry.Property(a => a.stockExpDate).IsModified         = true;
                        entry.Property(a => a.stockMfdDate).IsModified         = true;
                        entry.Property(a => a.StockQuantity).IsModified        = true;
                        _PhamaPOSEntities.SaveChanges();
                        MessageBox.Show("Stock Successfully updated..");
                        ClearFields();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Please Fill All the mandetary fields..");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Occured.. Please Retry.. " + ex.Message);
            }
        }
Ejemplo n.º 12
0
        private void GetMostSoldItems(DateTime dateFrom, DateTime dateTo)
        {
            _PhamaPOSEntities = new PhamaPOSEntities();
            _PhamaPOSEntities = _dbConnector.getConn();
            tblMostSold.Rows.Clear();
            if (dateFrom == dateTo)
            {
                var sales = _PhamaPOSEntities.sales
                            .Where(a => EntityFunctions.TruncateTime(a.saleBatch.entryDate) == EntityFunctions.TruncateTime(dateTo))
                            .GroupBy(a => new { a.stock.item })
                            .OrderByDescending(a => a.Sum(b => b.soldQuantity))
                            .Take(100)

                            .Select(a => new
                {
                    a.FirstOrDefault().stock.item.itemDescription,
                    soldQuantity = a.Sum(b => b.soldQuantity),
                    soldValue    = a.Sum(b => b.amount)
                }).Distinct();
                foreach (var rowObj in sales)
                {
                    DataRow dr = tblMostSold.NewRow();
                    dr["Item Name"]     = rowObj.itemDescription;
                    dr["Item Quantity"] = rowObj.soldQuantity;
                    dr["Value"]         = rowObj.soldValue;
                    tblMostSold.Rows.Add(dr);
                }

                grdMostSold.DataSource        = tblMostSold;
                grdMostSold.RowHeadersVisible = false;

                grdMostSold.Sort(this.grdMostSold.Columns["Item Quantity"], ListSortDirection.Descending);
                grdMostSold.Refresh();
            }
            else
            {
                var sales = _PhamaPOSEntities.sales
                            .Where(a => EntityFunctions.TruncateTime(a.saleBatch.entryDate) <= EntityFunctions.TruncateTime(dateTo) && EntityFunctions.TruncateTime(a.saleBatch.entryDate) >= EntityFunctions.TruncateTime(dateFrom))
                            .GroupBy(a => new { a.stock.item })
                            .OrderByDescending(a => a.Sum(b => b.soldQuantity))
                            .Take(100)

                            .Select(a => new
                {
                    a.FirstOrDefault().stock.item.itemDescription,
                    soldQuantity = a.Sum(b => b.soldQuantity),
                    soldValue    = a.Sum(b => b.amount)
                }).Distinct();
                foreach (var rowObj in sales)
                {
                    DataRow dr = tblMostSold.NewRow();
                    dr["Item Name"]     = rowObj.itemDescription;
                    dr["Item Quantity"] = rowObj.soldQuantity;
                    dr["Value"]         = rowObj.soldValue;
                    tblMostSold.Rows.Add(dr);
                }
                //grdMostSold.Rows.Clear();
                grdMostSold.DataSource        = tblMostSold;
                grdMostSold.RowHeadersVisible = false;

                grdMostSold.Sort(this.grdMostSold.Columns["Item Quantity"], ListSortDirection.Descending);
                grdMostSold.Refresh();
            }
        }
Ejemplo n.º 13
0
        private void GetExistingItemBatchs()
        {
            int  iCode;
            bool result = int.TryParse(txtItemCode.Text, out iCode);

            if (result)
            {
                _PhamaPOSEntities = _dbConnector.getConn();
                var Ds        = _PhamaPOSEntities.items.Where(a => a.itemCode == iCode);
                var itemCount = Ds.Count();
                if (itemCount > 0)
                {
                    lblItemName.Text = Ds.FirstOrDefault().itemDescription;
                    var Ds1 = Ds
                              .FirstOrDefault().stocks
                              .Where(a => a.isAvailable == true);
                    drpBatch.DataSource = null;
                    drpBatch.Items.Clear();
                    if (Ds1.Count() > 0)
                    {
                        if (!radioAddNew.Checked)
                        {
                            drpBatch.DataSource = Ds1
                                                  .Reverse()
                                                  .Select(a => new
                            {
                                a.stockId,
                                a.stockReceivedDate
                            }).ToList();

                            drpBatch.ValueMember   = "stockId";
                            drpBatch.DisplayMember = "stockReceivedDate";
                            FillDetailsByBatchId();
                        }
                        else
                        {
                            Dictionary <string, string> comboSource = new Dictionary <string, string>();
                            comboSource.Add("0", "New Batch");
                            drpBatch.DataSource    = new BindingSource(comboSource, null);
                            drpBatch.DisplayMember = "Value";
                            drpBatch.ValueMember   = "Key";
                        }
                    }
                    else
                    {
                        Dictionary <string, string> comboSource = new Dictionary <string, string>();
                        comboSource.Add("0", "New Batch");
                        drpBatch.DataSource    = new BindingSource(comboSource, null);
                        drpBatch.DisplayMember = "Value";
                        drpBatch.ValueMember   = "Key";
                    }
                }
                else
                {
                    MessageBox.Show("Invalid Item Code...");
                    txtItemCode.Text = "";
                }
            }
            else
            {
                MessageBox.Show("Invalid Item Code...");
                txtItemCode.Text = "";
            }
        }
Ejemplo n.º 14
0
        private void GetAllTransactions(DateTime dateFrom, DateTime dateTo)
        {
            _PhamaPOSEntities = new PhamaPOSEntities();
            _PhamaPOSEntities = _dbConnector.getConn();
            tblTransactions.Rows.Clear();
            grdAllTransactions.DataSource = null;
            tblTransactionsDetails.Rows.Clear();
            if (dateFrom == dateTo)
            {
                var sales = _PhamaPOSEntities.saleBatches
                            .Where(a => EntityFunctions.TruncateTime(a.entryDate) == EntityFunctions.TruncateTime(dateFrom))
                            .Select(a => new
                {
                    a.saleBatchId,
                    a.entryDate,
                    a.entryBy,
                    a.discountedAmount,
                    a.grandTotal,
                    a.subTotal
                }).Distinct();
                foreach (var rowObj in sales)
                {
                    DataRow dr = tblTransactions.NewRow();
                    dr["BatchId"]      = rowObj.saleBatchId;
                    dr["Sale Date"]    = rowObj.entryDate;
                    dr["User"]         = rowObj.entryBy;
                    dr["Discount"]     = rowObj.discountedAmount;
                    dr["Gross Amount"] = rowObj.grandTotal;
                    dr["Nett Amount"]  = rowObj.subTotal;

                    tblTransactions.Rows.Add(dr);
                }

                grdAllTransactions.DataSource         = tblTransactions;
                grdAllTransactions.Columns[0].Visible = false;
                grdAllTransactions.RowHeadersVisible  = false;
                grdAllTransactions.Sort(this.grdAllTransactions.Columns["Sale Date"], ListSortDirection.Descending);
                grdAllTransactions.Refresh();
            }
            else
            {
                var sales = _PhamaPOSEntities.saleBatches
                            .Where(a => EntityFunctions.TruncateTime(a.entryDate) <= EntityFunctions.TruncateTime(dateTo) && EntityFunctions.TruncateTime(a.entryDate) >= EntityFunctions.TruncateTime(dateFrom))

                            .Select(a => new
                {
                    a.saleBatchId,
                    a.entryDate,
                    a.entryBy,
                    a.discountedAmount,
                    a.grandTotal,
                    a.subTotal
                }).Distinct();
                foreach (var rowObj in sales)
                {
                    DataRow dr = tblTransactions.NewRow();
                    dr["BatchId"]      = rowObj.saleBatchId;
                    dr["Sale Date"]    = rowObj.entryDate;
                    dr["User"]         = rowObj.entryBy;
                    dr["Discount"]     = rowObj.discountedAmount;
                    dr["Gross Amount"] = rowObj.grandTotal;
                    dr["Nett Amount"]  = rowObj.subTotal;

                    tblTransactions.Rows.Add(dr);
                }

                grdAllTransactions.DataSource         = tblTransactions;
                grdAllTransactions.Columns[0].Visible = false;
                grdAllTransactions.RowHeadersVisible  = false;

                grdAllTransactions.Sort(this.grdAllTransactions.Columns["Sale Date"], ListSortDirection.Descending);
                grdAllTransactions.Refresh();
            }
        }
Ejemplo n.º 15
0
        private void button1_Click(object sender, EventArgs e)
        {
            using (var contex = new PhamaPOSEntities())
            {
                using (var dbContextTransaction = contex.Database.BeginTransaction())
                {
                    try
                    {
                        saleBatch sb = new saleBatch();
                        sb.entryBy          = _user.userName;
                        sb.entryDate        = DateTime.Now;
                        sb.saleDate         = DateTime.Now;
                        sb.discountedAmount = Convert.ToDecimal(_txtDiscAmt);
                        sb.grandTotal       = Convert.ToDecimal(_grandTotal);
                        sb.subTotal         = Convert.ToDecimal(_subTotal);
                        contex.saleBatches.Add(sb);
                        contex.SaveChanges();

                        foreach (DataRow dr in _tblItems.Rows)
                        {
                            Int64 batchID  = Convert.ToInt64(dr["Item Sock"]);
                            int   quantity = Convert.ToInt32(dr["Quantity"]);
                            //update stock
                            stock s = new stock();
                            s = contex.stocks.Where(a => a.stockId == batchID).FirstOrDefault();
                            if (s.runningQuantity == quantity)
                            {
                                s.runningQuantity  = 0;
                                s.isAvailable      = false;
                                s.stockClearedDate = DateTime.Now;

                                contex.stocks.Attach(s);
                                var entry = contex.Entry(s);
                                entry.Property(a => a.runningQuantity).IsModified  = true;
                                entry.Property(a => a.isAvailable).IsModified      = true;
                                entry.Property(a => a.stockClearedDate).IsModified = true;
                                contex.SaveChanges();
                            }
                            else
                            {
                                s.runningQuantity = s.runningQuantity - quantity;
                                contex.stocks.Attach(s);
                                var entry = contex.Entry(s);
                                entry.Property(a => a.runningQuantity).IsModified = true;
                                contex.SaveChanges();
                            }
                            //update sale
                            sale sale = new sale();
                            sale.amount       = Convert.ToDecimal(dr["Total"]);
                            sale.itemStockId  = Convert.ToInt64(dr["Item Sock"]);
                            sale.saleBatchId  = sb.saleBatchId;
                            sale.soldQuantity = Convert.ToInt64(dr["Quantity"]);
                            sale.unitPrice    = Convert.ToDecimal(dr["Unit Price"]);
                            contex.sales.Add(sale);
                            contex.SaveChanges();

                            //form.Show();
                        }
                        dbContextTransaction.Commit();
                        MessageBox.Show("Payment Proceed Successfull..");
                        home form = new home(_user);
                        form.Show();
                        this.Close();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Error Occured.. Please Retry..");
                        dbContextTransaction.Rollback();
                    }
                }
            }
        }
Ejemplo n.º 16
0
        private void GetExistingItemBatchs()
        {
            int  iCode;
            bool result = int.TryParse(txtItem.Text, out iCode);

            if (result)
            {
                _PhamaPOSEntities = _dbConnector.getConn();
                var Ds        = _PhamaPOSEntities.items.Where(a => a.itemCode == iCode);
                var itemCount = Ds.Count();
                if (itemCount > 0)
                {
                    txtItemName.Text    = Ds.FirstOrDefault().itemDescription;
                    txtItemDetails.Text = Ds.FirstOrDefault().itemCallingName;
                    // comboBox1.SelectedText = "";
                    comboBox1.Text = Ds.FirstOrDefault().itemDescription + "-->" + Ds.FirstOrDefault().itemCode;

                    var Ds1 = Ds
                              .FirstOrDefault().stocks
                              .Where(a => a.isAvailable == true && a.runningQuantity > 0)
                              .OrderBy(a => a.entryDate);
                    drpBatch.DataSource = null;
                    drpBatch.Items.Clear();
                    if (Ds1.Count() > 0)
                    {
                        drpBatch.DataSource = Ds1

                                              .Select(a => new
                        {
                            a.stockId,
                            a.entryDate
                        }).ToList();

                        drpBatch.ValueMember   = "stockId";
                        drpBatch.DisplayMember = "entryDate";
                        FillDetailsByBatchId();
                    }
                    else
                    {
                        Dictionary <string, string> comboSource = new Dictionary <string, string>();
                        comboSource.Add("0", "No Stocks Found");
                        drpBatch.DataSource    = new BindingSource(comboSource, null);
                        drpBatch.DisplayMember = "Value";
                        drpBatch.ValueMember   = "Key";
                        Clearfields();
                        //  txtItem.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("Invalid Item Code...");
                    txtItem.Text = "";
                    Clearfields();
                    // txtItem.Focus();
                }
            }
            else
            {
                MessageBox.Show("Invalid Item Code...");
                txtItem.Text = "";
                // txtItem.Focus();
            }
        }
Ejemplo n.º 17
0
        private void btnAddToGrid_Click(object sender, EventArgs e)
        {
            int  iCode;
            bool result = int.TryParse(txtItem.Text, out iCode);

            if (result)
            {
                _PhamaPOSEntities = _dbConnector.getConn();
                var Ds        = _PhamaPOSEntities.items.Where(a => a.itemCode == iCode);
                var itemCount = Ds.Count();
                if (itemCount > 0)
                {
                    int batchId = Convert.ToInt32(drpBatch.SelectedValue);
                    if (batchId > 0)
                    {
                        int  iQuantity;
                        bool resultQty = int.TryParse(txtQuantity.Text, out iQuantity);
                        if (resultQty)
                        {
                            if (iQuantity > 0)
                            {
                                long availableStock = Ds.FirstOrDefault().stocks.Where(a => a.stockId == batchId).FirstOrDefault().runningQuantity;
                                if (availableStock > 0)
                                {
                                    if (iQuantity > availableStock)
                                    {
                                        MessageBox.Show("The Stock Quantity is Less Than Requested Quantity..");
                                    }
                                    else
                                    {
                                        bool isAvailable = false;
                                        foreach (DataRow _dr in tblItems.Rows)
                                        {
                                            if (Convert.ToInt32(_dr["Item Code"]) == iCode && batchId == Convert.ToInt32(_dr["Item Sock"]))
                                            {
                                                if (availableStock >= Convert.ToInt32(_dr["Quantity"]) + iQuantity)
                                                {
                                                    int UpdatedQty = Convert.ToInt32(_dr["Quantity"]) + iQuantity;
                                                    _dr["Quantity"] = UpdatedQty;
                                                    _dr["Total"]    = UpdatedQty * Ds.FirstOrDefault().stocks.Where(a => a.stockId == batchId).FirstOrDefault().itemUnitPriceSelling;
                                                }
                                                else
                                                {
                                                    MessageBox.Show("Quntity Exeed Available Stock..");
                                                }
                                                isAvailable = true;
                                                break;
                                            }
                                        }
                                        if (!isAvailable)
                                        {
                                            DataRow dr = tblItems.NewRow();
                                            dr["item#"]      = tblItems.Rows.Count + 1;
                                            dr["Item Code"]  = iCode;
                                            dr["Item Sock"]  = batchId;
                                            dr["Item Name"]  = Ds.FirstOrDefault().itemDescription;
                                            dr["Unit Price"] = Ds.FirstOrDefault().stocks.Where(a => a.stockId == batchId).FirstOrDefault().itemUnitPriceSelling;
                                            dr["Quantity"]   = iQuantity;
                                            dr["Total"]      = iQuantity * Ds.FirstOrDefault().stocks.Where(a => a.stockId == batchId).FirstOrDefault().itemUnitPriceSelling;
                                            tblItems.Rows.Add(dr);
                                            dataGridView1.DataSource = tblItems;
                                        }
                                        else
                                        {
                                            dataGridView1.Refresh();
                                        }
                                        updateSubTotal();
                                        txtItem.Focus();
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("No Stocks Found For Item..");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Invalid Quantity..");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Invalid Quantity..");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Invalid Stock for Item..");
                        txtItem.Text = "";
                    }
                }
                else
                {
                    MessageBox.Show("Invalid Item Code...");
                    txtItem.Text = "";
                }
            }
            else
            {
                MessageBox.Show("Invalid Item Code...");
                txtItem.Text = "";
            }
        }