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 })); }
/// <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); }
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")); }
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")); }