Beispiel #1
0
        public ActionResult Upload(int year, int month, Company company)
        {
            if (Core.BillManager.Exist(year, month, company))
            {
                throw new ArgumentException(string.Format("系统中已经存在{0}年{1}月{2}公司的银行对账清单,对有需要更改请前往编辑!", year, month, company.GetDescription()));
            }
            var bank             = Core.BillManager.GetBank(year, month, company);
            var file             = HttpContext.Request.Files[0];
            var saveFullFilePath = Core.BillManager.Upload(file);
            var errors           = new List <string>();
            var bills            = BillClass.Analyze(saveFullFilePath, bank.ID, ref errors);

            if (errors.Count > 0)
            {
                throw new ArgumentException(string.Join("\r\n", errors.ToArray()));
            }
            try
            {
                Core.BillManager.UpDateBills(bills, bank.ID);
            }catch (Exception ex)
            {
                throw new ArgumentException(ex.ToString());
            }
            return(RedirectToAction("Detail", new { id = bank.ID }));
        }
Beispiel #2
0
        /// <summary>
        /// 作用:
        /// 作者:汪建龙
        /// 编写时间:2016年11月16日15:46:10
        /// </summary>
        /// <param name="hid">账单头文件ID</param>
        /// <param name="list">追加的列表</param>
        /// <returns></returns>
        public List <string> Input(int hid, List <BillOne> list, int year, int month, Company company)
        {
            var     errors          = new List <string>();
            var     preSerialNumber = 1;
            BillOne preEntry        = null;

            foreach (var item in list)
            {
                var error = string.Empty;
                if (preEntry != null)
                {
                    if (!BillClass.CheckLogic(item, preEntry))
                    {
                        error = "序号前后不一致,应递增,账户余额收支前后不一致;";
                    }
                    if (!BillClass.CheckTime(item, year, month))
                    {
                        error += string.Format("交易日期不在{0}年{1}月,请核对!", year, month);
                    }
                }
                else
                {
                    if (item.SerialNumber == 1)
                    {
                        BillRecord last = null;
                        if (month == 1)
                        {
                            last = Core.Bill_RecordManager.GetLast(year - 1, 12, company);
                        }
                        else
                        {
                            last = Core.Bill_RecordManager.GetLast(year, month - 1, company);
                        }
                        if (last != null)
                        {
                            if (!BillClass.CheckLogic(last, item))
                            {
                                error += string.Format("当前月初第一笔收支与上个月不符,请核对!");
                            }
                        }
                    }
                }
                if (!string.IsNullOrEmpty(error))
                {
                    errors.Add(string.Format("第{0}个数据存在如下错误:{1}", preSerialNumber, error));
                    continue;
                }
                item.HID = hid;
                if (Add(item) == 0)
                {
                    errors.Add(string.Format("第{0}个数据:保存到数据库失败;", preSerialNumber));
                }
                preEntry = item;
                preSerialNumber++;
            }
            return(errors);
        }
Beispiel #3
0
        private void CreateParagon(BillClass bill)
        {
            var sl = Environment.NewLine; var dl = sl + Environment.NewLine;
            int time = 0; double total = 0;
            var sb = new StringBuilder(); sb.Append($"Your order number  {bill.GetBillNumber()}" + dl);

            foreach (var item in bill.GetItemsList())
            {
                sb.Append($"{item.orderedCoffe.GetName()} x {item.quantinity} = {item.orderPrice}" + sl);
                time += item.timeToServe; total += item.orderPrice;
            }
            sb.Append(dl);
            sb.Append($"Summary: {total}$  ,  time: {time} sek");
            MessageBox.Show(sb.ToString());
            Bartender.CloseActualBill(); lstvOrders.Items.Clear();
        }
 public ActionResult BillDetail(int billid)
 {
     foreach (var data in Oc.GetBillListbyBillId(billid))
     {
         BillClass bc = new BillClass()
         {
             BillId         = data.BillID,
             CustomerId     = data.Customer.CustomerID,
             CustomerName   = data.Customer.Name,
             Address        = data.Customer.Address,
             Country        = data.Customer.City.State.Country.Country1,
             State          = data.Customer.City.State.State1,
             City           = data.Customer.City.City1,
             ShippingCharge = float.Parse(data.ShippingCharge.ToString()),
             GrandTotal     = float.Parse(data.GrandTotal.ToString()),
             Status         = data.IsCanceled.ToString()
         };
         BillClassList.Add(bc);
     }
     return(RedirectToAction("InvoiceForm"));
 }
Beispiel #5
0
        public ActionResult Input2(int year, int month, Company company)
        {
            var file = HttpContext.Request.Files[0];

            if (file == null)
            {
                throw new ArgumentException("请上传Excel文件!");
            }
            var saveFullFilePath = Core.BillManager.Upload(file);
            var errors           = new List <string>();
            var bills            = BillClass.AnalyzeExcel2(saveFullFilePath, ref errors);

            Session["Read"] = bills;
            //ViewBag.Values = bills.ToJson();
            ViewBag.Bank = new Bank {
                Year = year, Month = month, Company = company
            };
            ViewBag.Bills  = bills;
            ViewBag.Errors = errors;
            return(View());
        }
        public ActionResult ConfirmOrderForm(FormCollection fc)
        {
            if (fc["btnGenerateBill"] == "Generate Bill")
            {
                int   cid            = int.Parse(fc["txtCustomer"]);
                float total          = float.Parse(fc["txtTotal"]);
                float shippingcharge = float.Parse(fc["txtShippingCharge"]);
                float grandtotal     = float.Parse(fc["txtGrandTotal"]);

                Bill bill = new Bill()
                {
                    CustomerID     = cid,
                    ShippingCharge = shippingcharge,
                    //BillDate = Convert.ToDateTime(date),
                    GrandTotal = grandtotal
                };
                string bid    = Oc.SetBill(bill, BillDetailList);
                var    result = Oc.GetBillListbyBillId(int.Parse(bid));
                foreach (var data in result)
                {
                    BillClass bc = new BillClass();

                    bc.BillId     = data.BillID;
                    bc.CustomerId = int.Parse(data.CustomerID.ToString());
                    foreach (var data1 in Cc.GetCustomerListByCustomerId(int.Parse(data.CustomerID.ToString())))
                    {
                        bc.CustomerName = data1.Name;
                        bc.Address      = data1.Address;
                        bc.Country      = data1.City.State.Country.Country1;
                        bc.State        = data1.City.State.State1;
                        bc.City         = data1.City.City1;
                    }
                    bc.ShippingCharge = float.Parse(data.ShippingCharge.ToString());
                    bc.GrandTotal     = float.Parse(data.GrandTotal.ToString());
                    bc.Status         = data.IsCanceled.ToString();
                    BillClassList.Add(bc);
                }
            }
            return(RedirectToAction("InvoiceForm"));
        }