Пример #1
0
        public static bool UpdateSalesManBL(SalesUser updateSalesMan)
        {
            bool salesManUpdated = false;

            try
            {
                foreach (SalesUser salesman in SalesDAL.salesmen)
                {
                    if (salesman.SalesManID == updateSalesMan.SalesManID)
                    {
                        SalesDAL sales = new SalesDAL();
                        if (ValidateSalesMan(updateSalesMan))
                        {
                            salesManUpdated = sales.UpdateSalesManDetailsDAL(updateSalesMan);
                        }
                    }
                }
            }

            catch (GOException ex)
            {
                throw ex;
            }

            return(salesManUpdated);
        }
Пример #2
0
        private void BinddgvData()
        {
            List <Sales> list = SalesDAL.Getlist(currentUser.EmpId);

            if (list != null && list.Count > 0)
            {
                //筛选出7天内的数据
                list = list.Where(x => x.AddTime >= DateTime.Now.AddDays(-7)).ToList();
                //筛选后判断
                if (list.Count > 0)
                {
                    dgvlist.RowCount = list.Count;
                    for (int i = 0; i < list.Count; i++)
                    {
                        dgvlist[0, i].Value = diclist.ContainsKey(list[i].GoodsId) ? diclist[list[i].GoodsId].GoodsName.ToString() : "";
                        dgvlist[1, i].Value = list[i].Price;
                        dgvlist[2, i].Value = string.IsNullOrEmpty(list[i].Num.ToString()) ? "" : list[i].Num.ToString() + dickeys[diclist[list[i].GoodsId].KeyUnitId].KeyName;
                        dgvlist[3, i].Value = string.IsNullOrEmpty(currentUser.RealName.ToString()) ? "" : currentUser.RealName.ToString();
                        dgvlist[4, i].Value = string.IsNullOrEmpty(list[i].AddTime.ToString()) ? "" : list[i].AddTime.ToString();
                    }
                }
            }
            else
            {
                dgvlist.Rows.Clear();
            }
        }
Пример #3
0
        public static Int32 insertSales(SalesBEL objBel)
        {
            SalesDAL objDal = new SalesDAL();

            try
            {
                return(objDal.insertSales(objBel));
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                objDal = null;
            }
        }
Пример #4
0
        public static DataTable getSalesAll()
        {
            SalesDAL objDal = new SalesDAL();

            try
            {
                return(objDal.getSalesAll());
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                objDal = null;
            }
        }
Пример #5
0
        public static Int32 updateSalesIsEnable(string id, string isEnable)
        {
            SalesDAL objDal = new SalesDAL();

            try
            {
                return(objDal.updateSalesIsEnable(id, isEnable));
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                objDal = null;
            }
        }
Пример #6
0
        public static bool AddSalesUserBL(SalesUser salesMan)
        {
            bool salesManAdded = false;

            try
            {
                if (SalesDAL.AddSalesUserDAL(salesMan))
                {
                    salesManAdded = true;
                }
            }
            catch (GOException ex)
            {
                throw new GOException(ex.Message);
            }
            return(salesManAdded);
        }
Пример #7
0
 private void toolSave_Click(object sender, EventArgs e)
 {
     if (getIntCount() == 1)
     {
         if (intFalg == 1)
         {
             try
             {
                 //退货
                 Sales model = SalesDAL.getEntryById <Sales, DateTime>(addtime);
                 if (model == null)
                 {
                     MessageBox.Show("记录不存在", "提示");
                 }
                 else if (model.Num - sales.Num < 0)
                 {
                     MessageBox.Show("退货数量超出销售数量", "提示");
                 }
                 else if (model.Num - sales.Num == 0)
                 {
                     //退货数量和销售数量一致,删除该销售记录
                     SalesDAL.DeleteEntry <Sales, DateTime>(model.AddTime);
                     LogInfoDAL.add(new LogInfo(0, 2, currentUser.EmpId, 3, model.Num, DateTime.Now));
                     MessageBox.Show("退货成功", "提示");
                     BinddgvData();
                 }
                 else
                 {
                     sales.Num = (model.Num - sales.Num);
                     SalesDAL.EditEntry <Sales>(sales, "AddTime");
                     LogInfoDAL.add(new LogInfo(0, 2, currentUser.EmpId, 2, (model.Num - sales.Num), DateTime.Now));
                     MessageBox.Show("退货成功", "提示");
                     BinddgvData();
                 }
                 intFalg = 0;
                 ClearControl();
                 ControlStaus();
             }
             catch (Exception ex)
             {
                 MessageBox.Show("退货失败," + ex.Message, "提示");
             }
         }
     }
 }
        public NextInvoiceInfo GetNextInvoiceInfo()
        {
            try
            {
                Database db          = DatabaseFactory.CreateDatabase("BSMConnectionString");
                DateTime currentDate = DateTime.Now;
                Int64    nextSalesID = 0;

                SalesDAL.GetNextInvoiceID(db, currentDate.Year, ref nextSalesID);
                NextInvoiceInfo nextInvoiceInfo = new NextInvoiceInfo();
                //nextInvoiceInfo.InvoiceNum = invoiceNum;
                nextInvoiceInfo.SalesID = nextSalesID;
                return(nextInvoiceInfo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #9
0
        public static bool AddSalesBL(int saleOrderID, int salesManID)
        {
            bool saleAdded = false;

            try
            {
                if (saleOrderID >= 0)
                {
                    SalesDAL salesmanDAL = new SalesDAL();
                    saleAdded = salesmanDAL.AddSalesDAL(saleOrderID, salesManID);
                }
            }
            catch (GOException)
            {
                throw;
            }

            return(saleAdded);
        }
Пример #10
0
        public void FillControls()
        {
            try
            {
                if (dgvlist.Rows.Count > 0)
                {
                    addtime = Convert.ToDateTime(this.dgvlist[4, this.dgvlist.CurrentCell.RowIndex].Value.ToString());

                    Sales model = SalesDAL.getEntryById <Sales, DateTime>(addtime);
                    txtGoodsName.Text    = diclist.ContainsKey(model.GoodsId) ? diclist[model.GoodsId].GoodsName.ToString() : "";
                    goodsId              = model.GoodsId;
                    txtdeSellPrice.Text  = model.Price.ToString();
                    txtSellGoodsNum.Text = model.Num.ToString();
                }
            }
            catch (Exception ee)
            {
            }
        }
Пример #11
0
        private void BinddgvData()
        {
            List <Sales> list = SalesDAL.Getlist(currentUser.EmpId);

            if (list != null && list.Count > 0)
            {
                dgvlist.RowCount = list.Count;
                for (int i = 0; i < list.Count; i++)
                {
                    dgvlist[0, i].Value = list[i].GoodsId;
                    dgvlist[1, i].Value = diclist.ContainsKey(list[i].GoodsId) ? diclist[list[i].GoodsId].GoodsName.ToString() : "";
                    dgvlist[2, i].Value = list[i].Price;
                    dgvlist[3, i].Value = string.IsNullOrEmpty(list[i].Num.ToString()) ? "" : list[i].Num.ToString();
                    dgvlist[4, i].Value = string.IsNullOrEmpty(list[i].AddTime.ToString()) ? "" : list[i].AddTime.ToString();
                }
            }
            else
            {
                dgvlist.Rows.Clear();
            }
        }
Пример #12
0
        private void dgvlist_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try
            {
                if (dgvlist.Rows.Count > 0)
                {
                    DateTime addtime = Convert.ToDateTime(this.dgvlist[4, this.dgvlist.CurrentCell.RowIndex].Value.ToString());

                    Sales model = SalesDAL.getEntryById <Sales, DateTime>(addtime);
                    //进货界面
                    FrmReturngoods frm = (FrmReturngoods)this.Owner;
                    frm.txtGoodsName.Text    = diclist[model.GoodsId].GoodsName;
                    frm.txtSellGoodsNum.Text = model.Num.ToString();
                    frm.txtdeSellPrice.Text  = model.Price.ToString();
                    frm.MaxNum = model.Num;
                    this.Close();
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.ToString());
            }
        }
Пример #13
0
        private void toolSave_Click(object sender, EventArgs e)
        {
            if (getIntCount() == 1)
            {
                if (intFalg == 1)
                {
                    try
                    {
                        ReturnRet <int> result = StockDAL.QueryGoodsNum(sales.GoodsId, sales.Num);
                        if (result.success)
                        {
                            if (SalesDAL.add(sales))
                            {
                                LogInfoDAL.add(new LogInfo(0, 2, currentUser.EmpId, 1, sales.Num, sales.AddTime));
                                MessageBox.Show("添加成功", "提示");
                                BinddgvData();
                                intFalg = 0;

                                ClearControl();
                                ControlStaus();
                            }
                            else
                            {
                                MessageBox.Show("添加失败", "提示");
                            }
                        }
                        else
                        {
                            MessageBox.Show(result.message);
                            intFalg = 1;
                            txtSellGoodsNum.Text = result.data.ToString();
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("添加失败," + ex.Message, "提示");
                    }
                }
                if (intFalg == 2)
                {
                    //修改
                    Sales model = SalesDAL.getEntryById <Sales, DateTime>(addtime);
                    if (model == null)
                    {
                        MessageBox.Show("记录不存在", "提示");
                    }
                    else
                    {
                        ReturnRet <int> result = StockDAL.QueryGoodsNum(sales.GoodsId, sales.Num);
                        if (result.success)
                        {
                            sales.AddTime = model.AddTime;
                            SalesDAL.EditEntry <Sales>(sales, "AddTime");
                            LogInfoDAL.add(new LogInfo(0, 2, currentUser.EmpId, 2, sales.Num - model.Num, DateTime.Now));
                            MessageBox.Show("修改成功", "提示");
                            BinddgvData();
                        }
                        else
                        {
                            MessageBox.Show(result.message);
                            txtSellGoodsNum.Text = result.data.ToString();
                            intFalg = 2;
                            return;
                        }
                    }
                    intFalg = 0;
                    ClearControl();
                    ControlStaus();
                }
                if (intFalg == 3)
                {
                    Sales model = SalesDAL.getEntryById <Sales, DateTime>(addtime);
                    if (model == null)
                    {
                        MessageBox.Show("记录不存在", "提示");
                    }
                    else
                    {
                        if (MessageBox.Show("确定删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            LogInfoDAL.add(new LogInfo(0, 2, currentUser.EmpId, 3, model.Num, DateTime.Now));
                            SalesDAL.DeleteEntry <Sales, DateTime>(model.AddTime);
                            MessageBox.Show("删除成功", "提示");
                            BinddgvData();
                        }
                    }

                    intFalg = 0;
                    ClearControl();
                    ControlStaus();
                }
            }
        }
        public Int32 InsertOrUpdateSalesInfo(SalesInvoiceInfo salesInvoiceInfo)
        {
            Database      db = DatabaseFactory.CreateDatabase("BSMConnectionString");
            DbTransaction transaction;

            using (MySqlConnection connection = (MySqlConnection)db.CreateConnection())
            {
                connection.Open();
                transaction = connection.BeginTransaction();
                try
                {
                    DateTime datetime       = DateTime.Now;
                    Int32    nextInvoiceNum = 0;
                    DateTime currentDate    = DateTime.Now;
                    char     isHold         = salesInvoiceInfo.IsHold == true ? 'Y' : 'N';
                    if (salesInvoiceInfo.InvoiceNum == 0)
                    {
                        SalesDAL.GetNextInvoiceNum(db, currentDate.Year, ref nextInvoiceNum);
                        SalesDAL.InsertSalesHeaderInfo(db, transaction, salesInvoiceInfo.SalesID, nextInvoiceNum
                                                       , Convert.ToInt32(datetime.ToString("yyyyMMdd")), Convert.ToInt32(datetime.ToString("HHmmss"))
                                                       , salesInvoiceInfo.TotalAmount, salesInvoiceInfo.NetAmount, salesInvoiceInfo.PaidAmount, isHold);
                    }
                    else
                    {
                        nextInvoiceNum = salesInvoiceInfo.InvoiceNum;
                        SalesDAL.UpdateSalesHeaderInfo(db, transaction, salesInvoiceInfo.SalesID, salesInvoiceInfo.TotalAmount, salesInvoiceInfo.NetAmount, salesInvoiceInfo.PaidAmount, isHold);
                        SalesDAL.DeleteSalesItemInfo(db, transaction, salesInvoiceInfo.SalesID);
                    }

                    foreach (SalesItemInfo itemInfo in salesInvoiceInfo.SalesItemList)
                    {
                        SalesDAL.InsertSalesItemInfo(db, transaction, salesInvoiceInfo.SalesID, itemInfo.ProductID, itemInfo.RetailRate
                                                     , itemInfo.DiscountRate, itemInfo.Qty, itemInfo.Unit, itemInfo.Amount);

                        DataTable stockTable = SalesDAL.GetStockInfoForProduct(db, transaction, itemInfo.ProductID, itemInfo.RetailRate);
                        foreach (DataRow stockRow in stockTable.Rows)
                        {
                            decimal stockQty     = Convert.ToDecimal(stockRow["FQTY"].ToString());
                            decimal wholeSalRate = Convert.ToDecimal(stockRow["FWHOLESALERATE"].ToString());

                            if (stockQty >= itemInfo.Qty)
                            {
                                SalesDAL.ReduceProductStockInfo(db, transaction, itemInfo.ProductID, itemInfo.RetailRate, itemInfo.Qty, wholeSalRate);
                                break;
                            }
                            else
                            {
                                SalesDAL.ReduceProductStockInfo(db, transaction, itemInfo.ProductID, itemInfo.RetailRate, stockQty, wholeSalRate);
                                itemInfo.Qty = itemInfo.Qty - stockQty;
                            }
                        }
                    }
                    transaction.Commit();
                    return(nextInvoiceNum);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
                finally
                {
                    connection.Close();
                }
            }
        }
        public List <SalesInvoiceInfo> GetSaleHoldList()
        {
            try
            {
                Database  db = DatabaseFactory.CreateDatabase("BSMConnectionString");
                DataTable holdInvoiceTable       = SalesDAL.GetInvoiceHoldList(db);
                List <SalesInvoiceInfo> holdList = new List <SalesInvoiceInfo>();
                if (holdInvoiceTable.Rows.Count > 0)
                {
                    int prevSalesID    = 0;
                    int currentSalesID = 0;
                    int itemCount      = 0;
                    SalesInvoiceInfo salesInvoiceInfo = new SalesInvoiceInfo();
                    foreach (DataRow itemRow in holdInvoiceTable.Rows)
                    {
                        currentSalesID = Convert.ToInt32(itemRow["FSALESID"].ToString());
                        itemCount++;
                        SalesItemInfo salesItem = new SalesItemInfo();
                        salesItem.Amount       = Convert.ToDecimal(itemRow["FAMOUNT"].ToString());
                        salesItem.DiscountRate = Convert.ToDecimal(itemRow["FDISCOUNTRATE"].ToString());
                        salesItem.ProductID    = Convert.ToInt32(itemRow["FPRODUCTID"].ToString());
                        salesItem.Qty          = Convert.ToDecimal(itemRow["FQTY"].ToString());
                        salesItem.RetailRate   = Convert.ToDecimal(itemRow["FRETAILRATE"].ToString());
                        salesItem.Unit         = itemRow["FUOM"].ToString();
                        salesItem.VendorName   = itemRow["FSUPPLIERNAME"].ToString();
                        salesItem.ProductName  = itemRow["FPRODUCTNAME"].ToString();


                        if (prevSalesID != 0 && prevSalesID == currentSalesID)
                        {
                            salesInvoiceInfo.SalesItemList.Add(salesItem);
                        }
                        else
                        {
                            if (prevSalesID != 0)
                            {
                                salesInvoiceInfo.ItemCount = itemCount;
                                itemCount = 0;
                                holdList.Add(salesInvoiceInfo);
                            }

                            salesInvoiceInfo             = new SalesInvoiceInfo();
                            salesInvoiceInfo.SalesID     = currentSalesID;
                            salesInvoiceInfo.InvoiceNum  = Convert.ToInt32(itemRow["FINVOICENUM"].ToString());
                            salesInvoiceInfo.NetAmount   = Convert.ToDecimal(itemRow["FNETAMOUNT"].ToString());
                            salesInvoiceInfo.PaidAmount  = Convert.ToDecimal(itemRow["FPAIDAMOUNT"].ToString());;
                            salesInvoiceInfo.TotalAmount = Convert.ToDecimal(itemRow["FTOTALAMOUNT"].ToString());
                            salesInvoiceInfo.SalesItemList.Add(salesItem);
                        }

                        prevSalesID = currentSalesID;
                    }

                    if (prevSalesID != 0)
                    {
                        salesInvoiceInfo.ItemCount = itemCount;
                        holdList.Add(salesInvoiceInfo);
                    }
                }

                return(holdList);
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message.ToString());
            }
        }