public override string SaveBill(System.Web.Mvc.FormCollection fc, UserInfo user) { bill = new ChBill(); SomeUtils.SetFieldValueToModel(fc, bill); List <ChBillDetail> details = JsonConvert.DeserializeObject <List <ChBillDetail> >(fc.Get("ch_bill_details")); bill.ChBillDetail.AddRange(details); try { //保存送货地址信息 var dInfos = new OtherSv().GetDeliveryInfo(bill.customer_no) .Where(d => d.deliveryUnit == bill.delivery_unit && d.attn == bill.delivery_attn && d.addr == bill.delivery_addr && d.phone == bill.delivery_phone).Count(); if (dInfos == 0) { var info = new CustomerDeliveryInfo() { customer_name = bill.customer_name, customer_number = bill.customer_no, delivery_unit = bill.delivery_unit, addr = bill.delivery_addr, attn = bill.delivery_attn, phone = bill.delivery_phone, op_date = DateTime.Now, op_name = user.realName }; db.CustomerDeliveryInfo.InsertOnSubmit(info); } var existsed = db.ChBill.Where(c => c.sys_no == bill.sys_no).ToList(); if (existsed.Count() > 0) { //备份旧单 BackupData bd = new BackupData(); bd.sys_no = bill.sys_no; bd.op_date = DateTime.Now; bd.user_id = user.userId; bd.main_data = SomeUtils.ModelToString <ChBill>(existsed.First()); bd.secondary_data = SomeUtils.ModelsToString <ChBillDetail>(existsed.First().ChBillDetail.ToList()); db.BackupData.InsertOnSubmit(bd); //删掉旧单 db.ChBillDetail.DeleteAllOnSubmit(existsed.First().ChBillDetail); db.ChBill.DeleteAllOnSubmit(existsed); } bill.bill_date = DateTime.Now; bill.user_id = user.userId; db.ChBill.InsertOnSubmit(bill); db.ChBillDetail.InsertAllOnSubmit(bill.ChBillDetail); db.SubmitChanges(); } catch (Exception ex) { return(ex.Message); } return(""); }
public CHSv(string sysNo) { try { bill = db.ChBill.Single(c => c.sys_no == sysNo); } catch { throw new Exception("出货流水号不存在"); } }
//营业确认时保存信息 public void ApplierUpdateChInfo(ApplierConfirmCHInfo info) { bill = db.ChBill.Single(c => c.sys_no == info.sys_no); bill.delivery_addr = info.delivery_addr; bill.delivery_attn = info.delivery_attn; bill.delivery_phone = info.delivery_phone; bill.delivery_unit = info.delivery_unit; foreach (var r in info.rows) { var detail = db.ChBillDetail.Single(d => d.id == r.detail_id); detail.real_qty = r.real_qty; } db.SubmitChanges(); }