private void DoSelect() { if (op == "c") { sql = @"select A.Id as OrderDetailId,A.OId as SaleOrderId,A.PId as ProductId,A.Unit, A.PName as ProductName,A.PCode as ProductCode,A.Count,A.SalePrice,B.Number, isnull(BillingCount,0) as HaveInvoiceCount,(Count-isnull(BillingCount,0)-isnull(ReturnCount,0)) as InvoiceCount, isnull(ReturnCount,0) ReturnCount,(Count-isnull(BillingCount,0)-isnull(ReturnCount,0))*SalePrice as NowAmount from SHHG_AimExamine..OrdersPart A left join SHHG_AimExamine..SaleOrders B on A.OId=B.Id where PatIndex('%'+OId+'%','{0}')> 0 and Count-isnull(ReturnCount,0) > isnull(BillingCount,0) "; //NowAmount 表示本次开票金额 sql = string.Format(sql, orderids); ent = new OrderInvoice(); ent.CId = CustomerId; ent.CName = CustomerName; //有可能对多个销售单一起开发票 多个销售单可能各自有折扣金额 有可能一个销售单会分多次开票。但折扣金额只在第一次开发票的时候带到开票界面 //string tempsql = "select sum(isnull(DiscountAmount,0)) from SHHG_AimExamine..SaleOrders where PatIndex('%'+Id+'%','" + orderids + "')>0 and InvoiceState = ''"; //ent.DiscountAmount = DataHelper.QueryValue<decimal>(tempsql); //tempsql = "select sum(isnull(ReturnAmount,0)) from SHHG_AimExamine..SaleOrders where PatIndex('%'+Id+'%','" + orderids + "')>0 and InvoiceState = ''"; //ent.ReturnAmount = DataHelper.QueryValue<decimal>(tempsql);不需要减退货金额 因为明细显示的时候数量上已经减掉了退货数量 } else { sql = @"select A.*,B.Number from SHHG_AimExamine..OrderInvoiceDetail A left join SHHG_AimExamine..SaleOrders B on A.SaleOrderId=B.Id where OrderInvoiceId='{0}' order by ProductCode asc"; sql = string.Format(sql, id); } PageState.Add("DataList", DataHelper.QueryDictList(sql)); SetFormData(ent); }
public bool Insert(OrderInvoice entity, string userLogin) { try { using (var connection = GetConnection()) { connection.Execute(@" sp_InsertOrderInvoice @OrderId=@OrderId, @InvoiceNo=@InvoiceNo, @InvoiceAmount=@InvoiceAmount, @CutLengthCharge=@CutLengthCharge, @DeliveryCharge=@DeliveryCharge, @AMTExcGST=@AMTExcGST, @GST=@GST, @AMTIncGST=@AMTIncGST, @ActiveStatus=@ActiveStatus ", entity); return(true); } } catch (Exception e) { BWC.Core.Common.LogManager.LogError("Insert invoice in purchase", e); return(false); } }
/// <summary> /// Converts to order invoice. /// </summary> /// <param name="addOrderInvoiceModel">The model.</param> /// <returns></returns> public static OrderInvoice BindOrderInvoice(AddOrderInvoiceModel addOrderInvoiceModel, List <string> invoiceIds, decimal discountAmount = 0, decimal percentage = 0) { OrderInvoice orderInvoiceModel = new OrderInvoice(); if (addOrderInvoiceModel != null) { orderInvoiceModel.OrderFK = DBHelper.ParseInt64(addOrderInvoiceModel.OrderId); orderInvoiceModel.CreatedOn = DateTime.Now; orderInvoiceModel.CreatedBy = DBHelper.ParseInt64(addOrderInvoiceModel.CreatedBy); orderInvoiceModel.UniqueInvoiceId = CheckInvoiceId(invoiceIds); orderInvoiceModel.InvoiceDate = DateTime.Now; orderInvoiceModel.UserFK = DBHelper.ParseInt64(addOrderInvoiceModel.UserId); orderInvoiceModel.SubTotalAmount = GetSubTotalAmount(addOrderInvoiceModel.productDetail); orderInvoiceModel.TotalGSTAmount = (orderInvoiceModel.SubTotalAmount * DBHelper.ParseDecimal(addOrderInvoiceModel.VatCharges)) / 100; orderInvoiceModel.DiscountAmount = 0; decimal total = orderInvoiceModel.SubTotalAmount + orderInvoiceModel.TotalGSTAmount + DBHelper.ParseDecimal(addOrderInvoiceModel.ShippingCharges); if (discountAmount > 0) { orderInvoiceModel.DiscountAmount = discountAmount; } else if (percentage > 0) { orderInvoiceModel.DiscountAmount = total * percentage / 100; } orderInvoiceModel.PayableAmount = total - orderInvoiceModel.DiscountAmount; orderInvoiceModel.ShippingCharges = DBHelper.ParseDecimal(addOrderInvoiceModel.ShippingCharges); orderInvoiceModel.IsInvoiceGenerated = true; orderInvoiceModel.OrderStatusFK = (long)OrderStatusEnum.ReadyforPayment; orderInvoiceModel.TrackingNumber = addOrderInvoiceModel.TrackingNumber; } return(orderInvoiceModel); }
public bool Update(OrderInvoice entity, string userLogin) { try { using (var connection = GetConnection()) { connection.Execute(@" call sp_UpdateOrderInvoice ( @Id, @OrderId, @InvoiceNo, @InvoiceAmount, @CutLengthCharge, @DeliveryCharge, @AMTExcGST, @GST, @AMTIncGST, @ActiveStatus ) ", entity); return(true); } } catch (Exception e) { BWC.Core.Common.LogManager.LogError("Update invoice in purchase", e); return(false); } }
private static decimal GetAmountdue(OrderInvoice invoiceData) { var amountdue = 0m; var currencySymbol = HLConfigManager.Configurations.CheckoutConfiguration.CurrencySymbol; decimal.TryParse(invoiceData.DiscountedGrandTotal.Replace(currencySymbol, string.Empty), out amountdue); return(amountdue); }
private void DoBatchDelete() { IList <object> idList = RequestData.GetList <object>("IdList"); if (idList != null && idList.Count > 0) { OrderInvoice.DoBatchDelete(idList.ToArray()); } }
public void OrderInvoiceTest() { // Arrange // Act OrderInvoice orderInvoice = this.CreateOrderInvoice(); // Assert }
public IActionResult AddOrderInvoice(AddOrderInvoiceModel orderInvoiceModel) { try { if (ModelState.IsValid) { decimal discountAmount = 0; decimal percentage = 0; long invoiceCount = iOrderInvoice.GetInvoiceCountByOrderId(DBHelper.ParseInt64(orderInvoiceModel.OrderId)); if (invoiceCount <= 0) { var orderModel = iOrder.GetOrderModelByOrderId(DBHelper.ParseInt64(orderInvoiceModel.OrderId)); if (orderModel != null && orderModel.PromocodeFK.HasValue) { var promoCodeModel = iPromoCode.GetPromocodeDetail(DBHelper.ParseInt64(orderModel.PromocodeFK)); if (promoCodeModel != null) { discountAmount = promoCodeModel.Amount; percentage = promoCodeModel.Percentage; } } } var uniqueInvoiceIds = iOrderInvoice.GetAllUniqueInvoiceIds(); OrderInvoice orderInvModel = OrderInvoiceHelper.BindOrderInvoice(orderInvoiceModel, uniqueInvoiceIds, discountAmount, percentage); List <OrderInvoiceDetail> invoiceDetailsList = OrderInvoiceHelper.BindOrderInvoiceDetailModel(orderInvoiceModel.productDetail); long orderInvoiceId = iOrderInvoice.AddOrderInvoice(orderInvModel, invoiceDetailsList, orderInvoiceModel.productDetail); if (orderInvoiceId > 0) { if (orderInvModel.OrderStatusFK == OrderStatusEnum.ReadyforPayment.GetHashCode()) { SendPaymentRelatedEmail(DBHelper.ParseInt32(orderInvoiceId)); } return(Ok(ResponseHelper.Success(MessageConstants.OrderInvoiceGenerated))); } else { return(Ok(ResponseHelper.Error(MessageConstants.OrderInvoiceNotGenerated))); } } else { return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData))); } } catch (Exception ex) { LogHelper.ExceptionLog(ex.Message + " ::::: " + ex.StackTrace); return(Ok(ResponseHelper.Error(ex.Message))); } }
protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); orderids = RequestData.Get <string>("orderids"); id = RequestData.Get <string>("id"); CustomerId = RequestData.Get <string>("CustomerId"); CustomerName = Server.HtmlDecode(RequestData.Get <string>("CustomerName")); entStrList = RequestData.GetList <string>("data"); if (!string.IsNullOrEmpty(id)) { ent = OrderInvoice.Find(id); } switch (RequestActionString) { case "update": ent = GetMergedData <OrderInvoice>(); ent.DoUpdate(); ProcessDetail(); break; case "JudgeRepeat": sql = "select count(1) from SHHG_AimExamine..OrderInvoice where Number like '%" + RequestData.Get <string>("InvoiceNo") + "%' "; if (DataHelper.QueryValue <int>(sql) > 0) { PageState.Add("IsRepeat", "T"); } else { PageState.Add("IsRepeat", "F"); } break; case "create": ent = GetPostedData <OrderInvoice>(); ent.OId = orderids; ent.DoCreate(); ProcessDetail(); break; default: DoSelect(); break; } }
private static OrderTotals ConvertToOrderTotals(OrderInvoice invoiceData, string counrty) { if (string.IsNullOrEmpty(invoiceData.DiscountedGrandTotal)) { return(null); } var amountdue = GetAmountdue(invoiceData); if (amountdue == 0) { return(null); } return(counrty == "CN" ? new OrderTotals_V02 { AmountDue = amountdue } : new OrderTotals_V01 { AmountDue = amountdue }); }
protected void Page_Load(object sender, EventArgs e) { string action = Request["action"]; string id = Request["invoiceid"]; OrderInvoice oiEnt = null; switch (action) { case "loadform": if (!string.IsNullOrEmpty(id)) { oiEnt = OrderInvoice.Find(id); Response.Write("{data:" + JsonHelper.GetJsonString(oiEnt) + "}"); Response.End(); } break; case "loaddetail": string sql = @"select A.*,B.Number from SHHG_AimExamine..OrderInvoiceDetail A left join SHHG_AimExamine..SaleOrders B on A.SaleOrderId=B.Id where OrderInvoiceId='{0}' order by ProductCode asc"; sql = string.Format(sql, id); DataTable dt = DataHelper.QueryDataTable(sql); Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}"); Response.End(); break; case "payoffinvoice": oiEnt = OrderInvoice.Find(id); oiEnt.PayState = "已全部付款"; oiEnt.Remark = Request["remark"]; oiEnt.DoUpdate(); Response.Write("{success:'true'}"); Response.End(); break; } }
public decimal GetTotalAmount(OrderInvoice orderInvoice) { return(orderInvoice.Products.Sum(p => p.Amount)); }
protected void Page_Load(object sender, EventArgs e) { Index = RequestData.Get <string>("Index"); CC = RequestData.Get <string>("CC"); string ids = RequestData.Get <string>("ids"); switch (RequestActionString) { case "delete": if (!string.IsNullOrEmpty(ids)) { string[] idArray = ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < idArray.Length; i++) { oiEnt = OrderInvoice.Find(idArray[i]); IList <OrderInvoiceDetail> oidEnts = OrderInvoiceDetail.FindAllByProperty("OrderInvoiceId", oiEnt.Id); foreach (OrderInvoiceDetail oidEnt in oidEnts) { OrdersPart opEnt = OrdersPart.Find(oidEnt.OrderDetailId); opEnt.BillingCount = opEnt.BillingCount - oidEnt.InvoiceCount; opEnt.DoUpdate(); oidEnt.DoDelete(); } //删除发票的时候 回滚销售订单的发票状态 soEnt.InvoiceState = ""; string[] oidArray = oiEnt.OId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (string oid in oidArray) { SaleOrder soEnt = SaleOrder.Find(oid); sql = "select count(Id) from SHHG_AimExamine..OrdersPart where BillingCount>0 and OId='" + oid + "'"; if (DataHelper.QueryValue <int>(sql) == 0) { soEnt.InvoiceState = ""; } else { soEnt.InvoiceState = "已部分开发票"; } soEnt.DoUpdate(); } oiEnt.DoDelete(); } } break; case "RollBack": if (!string.IsNullOrEmpty(ids)) { string[] idArray = ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < idArray.Length; i++) { oiEnt = OrderInvoice.Find(idArray[i]); oiEnt.PayState = null; oiEnt.PayAmount = null; oiEnt.DoUpdate(); } } break; case "updateorderinvoicedetail": IList <OrderInvoice> oiEnts = OrderInvoice.FindAll(); foreach (OrderInvoice oiEnt in oiEnts) { IList <OrderInvoiceDetail> oidEnts = OrderInvoiceDetail.FindAllByProperty(OrderInvoiceDetail.Prop_OrderInvoiceId, oiEnt.Id); if (oidEnts.Count == 0) { JArray ja = JsonHelper.GetObject <JArray>(oiEnt.Child); foreach (JObject jo in ja) { OrderInvoiceDetail oidEnt = new OrderInvoiceDetail(); oidEnt.OrderDetailId = jo.Value <string>("Id"); oidEnt.OrderInvoiceId = oiEnt.Id; oidEnt.SaleOrderId = jo.Value <string>("OId"); oidEnt.ProductId = jo.Value <string>("ProductId"); oidEnt.ProductCode = jo.Value <string>("ProductCode"); oidEnt.ProductName = jo.Value <string>("ProductName"); oidEnt.SalePrice = jo.Value <decimal>("SalePrice"); oidEnt.Unit = jo.Value <string>("Unit"); oidEnt.Amount = jo.Value <decimal>("Amount"); oidEnt.Count = jo.Value <Int32>("Count"); oidEnt.InvoiceCount = jo.Value <Int32>("Count"); oidEnt.DoCreate(); } } } break; default: DoSelect(); break; } }
/// <summary> /// Adds the order invoice. /// </summary> /// <param name="orderInvoiceModel">The model.</param> /// <param name="detailModel">The detail model.</param> /// <returns></returns> public long AddOrderInvoice(OrderInvoice orderInvoiceModel, List <OrderInvoiceDetail> detailModel, List <AddOrderInvoiceProductDetail> productSizeDetail) { using (var transaction = context.Database.BeginTransaction()) { try { context.OrderInvoice.Add(orderInvoiceModel); context.SaveChanges(); long OrderInvoiceId = orderInvoiceModel.OrderInvoiceId; if (OrderInvoiceId > 0) { foreach (var item in detailModel) { item.OrderInvoiceFK = OrderInvoiceId; context.OrderInvoiceDetail.Add(item); context.SaveChanges(); if (item.OrderInvoiceDetailId <= 0) { transaction.Rollback(); return(0); } else { var size = productSizeDetail.Where(x => DBHelper.ParseInt64(x.ProductId) == item.ProductFK && DBHelper.ParseInt64(x.ProductColorId) == item.ProductColorFK).FirstOrDefault(); if (size != null) { string[] sizeSplitted = size.SizeRatio.Split(','); if (sizeSplitted != null && sizeSplitted.Length > 0) { for (int i = 0; i < sizeSplitted.Length; i++) { OrderInvoiceSizeDetail orderInvoiceSizeDetail = new OrderInvoiceSizeDetail(); orderInvoiceSizeDetail.OrderInvoiceDetailFK = item.OrderInvoiceDetailId; orderInvoiceSizeDetail.Size = sizeSplitted[i]; context.OrderInvoiceSizeDetail.Add(orderInvoiceSizeDetail); context.SaveChanges(); if (orderInvoiceSizeDetail.OrderInvoiceSizeDetailId <= 0) { transaction.Rollback(); return(0); } } } } } } transaction.Commit(); return(OrderInvoiceId); } else { transaction.Rollback(); return(0); } } catch (Exception ex) { transaction.Rollback(); LogHelper.ExceptionLog(ex.Message + " ::::: " + ex.StackTrace); throw ex; } } }
protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); ids = RequestData.Get <string>("ids"); id = RequestData.Get <string>("id"); type = RequestData.Get <string>("type"); OrderInvoice ent = null; switch (this.RequestAction) { case RequestActionEnum.Update: ent = this.GetMergedData <OrderInvoice>(); ent.DoUpdate(); this.SetMessage("修改成功!"); break; case RequestActionEnum.Insert: case RequestActionEnum.Create: ent = this.GetPostedData <OrderInvoice>(); ent.OId = ids; ent.DoCreate(); IList <string> strList = RequestData.GetList <string>("data"); string[] oids = ids.Split(','); SaleOrder[] ents = SaleOrder.FindAllByPrimaryKeys(oids); if (ents.Length > 0) { foreach (SaleOrder soent in ents) { //更新订单开票状态及发票号码 soent.InvoiceState = getInvoiceState(strList, soent.Id, soent.Number); soent.InvoiceNumber += ent.Number + ","; soent.DoSave(); } } this.SetMessage("新建成功!"); break; case RequestActionEnum.Delete: ent = this.GetTargetData <OrderInvoice>(); ent.DoDelete(); this.SetMessage("删除成功!"); return; default: if (RequestActionString == "") { } break; } //加载要开发票的数据 if (op == "c" && !string.IsNullOrEmpty(ids)) { string[] oids = ids.Split(','); SaleOrder[] ents = SaleOrder.FindAllByPrimaryKeys(oids); if (ents.Length > 0) { DataTable dtall = null; DataTable dtMain = null; DataTable dtReturn = null; DataTable dtChange = null; string columns = "Id,OId,PId as ProductId,PCode as ProductCode,PName as ProductName,Isbn,[Count],Unit,SalePrice,Amount,Remark,BillingCount,'销售' as Type"; string columns2 = "Id,OId,ProductId,ProductCode,ProductName,Isbn,[Count],Unit,ReturnPrice as SalePrice,Amount,Remark,BillingCount"; foreach (SaleOrder soent in ents) { //partList.AddRange(OrdersPart.FindAllByProperty("OId", soent.Id)); //查询数据 dtMain = DataHelper.QueryDataTable("select " + columns + " from " + db + "..OrdersPart where OId='" + soent.Id + "'"); dtReturn = DataHelper.QueryDataTable("select " + columns2 + ",'退货' as Type from " + db + "..ReturnOrderPart where OId='" + soent.Id + "'"); dtChange = DataHelper.QueryDataTable("select " + columns2 + ",'换货' as Type from " + db + "..ChangeOrderPart where OId='" + soent.Id + "'"); //处理换货商品 DataTable dttemp = dtMain; if (dtChange.Rows.Count > 0) { bool isfind = false; foreach (DataRow charow in dtChange.Rows) { isfind = false; foreach (DataRow mainrow in dtMain.Rows) { if (charow["ProductId"] + "" == mainrow["ProductId"] + "") { isfind = true; //加上换货的商品数量 //dttemp.Rows.Remove(mainrow); mainrow["Count"] = Convert.ToInt32(mainrow["Count"]) + Convert.ToInt32(charow["Count"]); mainrow["Amount"] = Convert.ToInt32(mainrow["Amount"]) + Convert.ToInt32(charow["Amount"]); //dttemp.Rows.Add(mainrow); break; } } //不在原商品列表里,添加新的 if (!isfind) { dttemp.Rows.Add(charow.ItemArray); } } dtMain = dttemp; } //处理退货商品 if (dtReturn.Rows.Count > 0) { foreach (DataRow rtnrow in dtReturn.Rows) { foreach (DataRow mainrow in dtMain.Rows) { if (rtnrow["ProductId"] + "" == mainrow["ProductId"] + "") { //完全退货移除 if (rtnrow["Count"] + "" == mainrow["Count"] + "") { dttemp.Rows.Remove(mainrow); } else { //dttemp.Rows.Remove(mainrow); mainrow["Count"] = Convert.ToInt32(mainrow["Count"]) - Convert.ToInt32(rtnrow["Count"]); mainrow["Amount"] = Convert.ToInt32(mainrow["Amount"]) - Convert.ToInt32(rtnrow["Amount"]); //dttemp.Rows.Add(mainrow); } break; } } } dtMain = dttemp; } if (dtall == null) { dtall = dtMain; } else { dtall.Merge(dtMain); } } #region old // string sql = @"select OId,ProductId,ProductCode,ProductName,Isbn,sum([count]) as [Count],max(SalePrice) as SalePrice,sum(Amount) as Amount,Unit,sum(BillingCount) as BillingCount from( // select Id,OId,PId as ProductId,PCode as ProductCode,PName as ProductName,Isbn,[Count],Unit,SalePrice,Amount,BillingCount from {0}..OrdersPart // union all // select Id,OId,ProductId,ProductCode,ProductName,Isbn,[Count],Unit,0,Amount,BillingCount from {1}..ChangeOrderPart // union all // select Id,OId,ProductId,ProductCode,ProductName,Isbn,([Count]*-1) as [Count],Unit,0,(Amount*-1) as Amount,BillingCount from {2}..ReturnOrderPart // )t where OId in ('" + ids.Replace(",", "','") + "') group by ProductId,ProductCode,ProductName,Unit,Isbn,OId having sum([Count])>0"; // DataTable dt = DataHelper.QueryDataTable(string.Format(sql, db, db, db)); // PageState.Add("DetailList", DataHelper.DataTableToDictList(dt)); #endregion PageState.Add("DetailList", DataHelper.DataTableToDictList(dtall)); ents[0].Child = ""; ents[0].Number = ""; this.SetFormData(ents[0]); } } else if (op != "c" && op != "cs") { if (!String.IsNullOrEmpty(id)) { ent = OrderInvoice.Find(id); } this.SetFormData(ent); } }
/// <summary> /// 保存数据方法 /// </summary> private void DataSave() { OrderBase _OrderBase = new OrderBase(); #region 销售单实体赋值 _OrderBase.OA01001 = Convert.ToInt32(ViewState["OA01001"]); _OrderBase.OA01002 = this.txtOA01002.Text.Trim(); _OrderBase.OA01003 = this.rbtnOA01003Yes.Checked == true ? 3 : 1; _OrderBase.OA01004 = 1; //下单 _OrderBase.OA01005 = this.rbtnOA01005Yes.Checked ? 1 : 0; _OrderBase.OA01006 = ""; //系统订单号 _OrderBase.OA01007 = ""; //喷嘴订单号 _OrderBase.OA01008 = this.txtOA01008.Text.Trim(); if (!string.IsNullOrEmpty(this.txtOA01009.Text.Trim())) { _OrderBase.OA01009 = Convert.ToDateTime(this.txtOA01009.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtOA01010.Text.Trim())) { _OrderBase.OA01010 = Convert.ToDateTime(this.txtOA01010.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtOA01011.Text.Trim())) { _OrderBase.OA01011 = Convert.ToDateTime(this.txtOA01011.Text.Trim()); } _OrderBase.OA01012 = this.txtOA01012.Text.Trim(); _OrderBase.OA01013 = this.ddlUA01.SelectedValue; _OrderBase.OA01014 = this.txtOA01014.Text.Trim(); _OrderBase.OA01015 = Request.Form["txtOA01015"].Trim(); if (!string.IsNullOrEmpty(this.ddlOA01016.SelectedValue)) { _OrderBase.OA01016 = Convert.ToDecimal(this.ddlOA01016.SelectedValue); } else { _OrderBase.OA01016 = 0; } _OrderBase.OA01017 = Request.Form["txtOA01017"].Trim(); if (!string.IsNullOrEmpty(this.ddlOA01018.SelectedValue)) { _OrderBase.OA01018 = Convert.ToDecimal(this.ddlOA01018.SelectedValue); } else { _OrderBase.OA01018 = 0; } if (!string.IsNullOrEmpty(Request.Form["txtOA01019"].Trim())) { _OrderBase.OA01019 = Convert.ToDecimal(Request.Form["txtOA01019"].Trim()); } if (!string.IsNullOrEmpty(Request.Form["txtOA01020"].Trim())) { _OrderBase.OA01020 = Convert.ToDecimal(Request.Form["txtOA01020"].Trim()); } if (!string.IsNullOrEmpty(this.txtOA01021.Text.Trim())) { _OrderBase.OA01021 = Convert.ToDecimal(this.txtOA01021.Text.Trim()); } if (!string.IsNullOrEmpty(Request.Form["txtOA01022"].Trim())) { _OrderBase.OA01022 = Convert.ToDecimal(Request.Form["txtOA01022"].Trim()); } if (!string.IsNullOrEmpty(Request.Form["txtOA01023"].Trim())) { _OrderBase.OA01023 = Convert.ToDecimal(Request.Form["txtOA01023"].Trim().Replace('%', '0')) / 100; } _OrderBase.OA01024 = this.rbtnOA01024Yes.Checked ? this.txtOA01024.Text.Trim() : string.Empty; _OrderBase.OA01025 = Convert.ToInt32(this.ddlOA01025.SelectedValue); _OrderBase.OA01026 = this.txtOA01026.Text.Trim(); _OrderBase.OA01027 = this.txtOA01027.Text.Trim(); _OrderBase.OA01028 = this.txtOA01028.Text.Trim(); _OrderBase.OA01029 = this.txtOA01029.Text.Trim(); _OrderBase.OA01030 = this.txtOA01030.Text.Trim(); _OrderBase.OA01031 = this.txtOA01031.Text.Trim(); _OrderBase.OA01032 = this.txtOA01032.Text.Trim(); _OrderBase.OA01033 = this.txtOA01033.Text.Trim(); _OrderBase.OA01034 = this.txtOA01034.Text.Trim(); _OrderBase.OA01035 = this.txtOA01035.Text.Trim(); #region 获取客户的信息 DataTable dt = new CustomerBLL().SelectCustomerBase(string.Format(" AND CA01001 = '{0}'", Request.QueryString["CA01001"])); if (dt.Rows.Count < 1) { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('数据异常!');window.location.href='/Index.aspx';</script>"); return; } #endregion _OrderBase.OA01036 = dt.Rows[0]["CA01002"].ToString(); //客户编码 _OrderBase.OA01037 = (Session["USER_SESSION"] as UserBase).UA01001; _OrderBase.OA01038 = Convert.ToInt32(dt.Rows[0]["CA01001"]); _OrderBase.OA01039 = ""; //主订单编号 if (!string.IsNullOrEmpty(dt.Rows[0]["CA01019"].ToString())) { _OrderBase.OA01040 = Convert.ToInt32(dt.Rows[0]["CA01019"]); } if (!string.IsNullOrEmpty(dt.Rows[0]["CA01020"].ToString())) { _OrderBase.OA01041 = Convert.ToInt32(dt.Rows[0]["CA01020"]); } if (!string.IsNullOrEmpty(dt.Rows[0]["CA01022"].ToString())) { _OrderBase.OA01042 = Convert.ToInt32(dt.Rows[0]["CA01022"]); } if (!string.IsNullOrEmpty(dt.Rows[0]["CA01023"].ToString())) { _OrderBase.OA01043 = Convert.ToInt32(dt.Rows[0]["CA01023"]); } _OrderBase.OA01044 = this.rbtnOA01044Yes.Checked ? 1 : 0; _OrderBase.OA01045 = this.rbtnOA01045Yes.Checked ? 1 : 0; _OrderBase.OA01046 = this.txtOA01046.Text.Trim(); _OrderBase.OA01047 = this.ddlOA01047.SelectedValue; _OrderBase.OA01048 = this.txtOA01048.Text.Trim(); _OrderBase.OA01049 = this.txtOA01049.Text.Trim(); _OrderBase.OA01050 = this.txtOA01050.Text.Trim(); _OrderBase.OA01053 = this.txtOA01053.Text.Trim(); _OrderBase.OA01054 = int.Parse(this.ddlOA01054.SelectedValue); if (!string.IsNullOrEmpty(this.txtOA01051.Text.Trim())) { _OrderBase.OA01051 = Convert.ToDateTime(this.txtOA01051.Text.Trim()); } _OrderBase.OA01999 = ViewState["OA01999"].ToString(); _OrderBase.OA01055 = this.ddlOA01055.SelectedValue; _OrderBase.OA01056 = this.ddlOA01056.SelectedValue; _OrderBase.OA01057 = this.ddlOA01055.SelectedItem.Text.Equals("请选择") ? string.Empty : this.ddlOA01055.SelectedItem.Text; _OrderBase.OA01058 = this.ddlOA01056.SelectedItem.Text.Equals("请选择") ? string.Empty : this.ddlOA01056.SelectedItem.Text; _OrderBase.OA01060 = Convert.ToDecimal(new OrderBLL().SelectOrderBaseById(_OrderBase.OA01001.ToString()).Rows[0]["OA01060"]); #endregion #region 销售单明细 List <OrderProduct> listOrderProduct = new List <OrderProduct>(); if (!string.IsNullOrEmpty(this.txtmingxi.Value)) //判断是否有订单明细数据 { string strmingxi = this.txtmingxi.Value; //获取明细数据 string[] strrow = strmingxi.Split(new[] { "_&_" }, StringSplitOptions.None); if (strrow.Length > 0) { foreach (string itemrow in strrow) { string[] strcolumns = itemrow.Split(new[] { "_^_" }, StringSplitOptions.None); if (strcolumns.Length > 0) { if (strcolumns[0].Trim() != "") { OrderProduct _OrderProduct = new OrderProduct(); _OrderProduct.OB01002 = _OrderBase.OA01999; //订单编号 _OrderProduct.OB01003 = 1; _OrderProduct.OB01004 = Convert.ToInt32(strcolumns[10].Trim()); //商品Id _OrderProduct.OB01005 = strcolumns[0].Trim(); //商品型号 _OrderProduct.OB01006 = strcolumns[1].Trim(); //商品描述 if (!string.IsNullOrEmpty(strcolumns[2].Trim())) { _OrderProduct.OB01007 = Convert.ToInt32(strcolumns[2].Trim()); //商品数量 } if (!string.IsNullOrEmpty(strcolumns[3].Trim())) { _OrderProduct.OB01008 = Convert.ToDecimal(strcolumns[3].Trim()); //含税单价(含税价格) } if (!string.IsNullOrEmpty(strcolumns[4].Trim())) { _OrderProduct.OB01009 = Convert.ToDecimal(strcolumns[4].Trim()); //含税总价(含税总计) } if (!string.IsNullOrEmpty(strcolumns[5].Trim())) { _OrderProduct.OB01010 = Convert.ToDecimal(strcolumns[5].Trim()); //不含税单价(不含税价格) } if (!string.IsNullOrEmpty(strcolumns[6].Trim())) { _OrderProduct.OB01011 = Convert.ToDecimal(strcolumns[6].Trim()); //不含税总价(不含税总计) } if (!string.IsNullOrEmpty(strcolumns[7].Trim())) { _OrderProduct.OB01012 = Convert.ToDecimal(strcolumns[7].Trim()); //税额 } if (!string.IsNullOrEmpty(strcolumns[8].Trim())) { _OrderProduct.OB01013 = Convert.ToDecimal(strcolumns[8].Trim()); //单位成本 } if (!string.IsNullOrEmpty(strcolumns[9].Trim())) { _OrderProduct.OB01014 = Convert.ToDecimal(strcolumns[9].Trim()); //合计成本 } _OrderProduct.OB01999 = Guid.NewGuid().ToString(); //GUID listOrderProduct.Add(_OrderProduct); } } } } } #endregion #region 销售发票 List <OrderInvoice> listOrderInvoice = new List <OrderInvoice>(); if (!string.IsNullOrEmpty(this.txtfapiao.Value)) //判断是否有发票数据 { string strfapiao = this.txtfapiao.Value; //获取发票数据 string[] strrow1 = strfapiao.Split('&'); if (strrow1.Length > 0) { int i = 0; foreach (string itemrow in strrow1) { string[] strcolumns = itemrow.Split('^'); if (strcolumns.Length > 0) { OrderInvoice _OrderInvoice = new OrderInvoice(); if (!string.IsNullOrEmpty(strcolumns[0].Trim())) { _OrderInvoice.OC01002 = Convert.ToInt32(strcolumns[0].Trim()); //序号 } _OrderInvoice.OC01003 = listOrderProduct[i].OB01999.ToString(); //商品GUID; _OrderInvoice.OC01004 = 1; //销售单 _OrderInvoice.OC01005 = strcolumns[1].Trim(); //型号 if (!string.IsNullOrEmpty(strcolumns[2].Trim())) { _OrderInvoice.OC01006 = Convert.ToInt32(strcolumns[2].Trim()); //数量 } if (!string.IsNullOrEmpty(strcolumns[3].Trim())) { _OrderInvoice.OC01007 = Convert.ToInt32(strcolumns[3].Trim() == "N" ? "0" : "1"); //是否到货 } if (!string.IsNullOrEmpty(strcolumns[4].Trim())) { _OrderInvoice.OC01008 = strcolumns[4].Trim(); //到货批次 } if (!string.IsNullOrEmpty(strcolumns[5].Trim())) { _OrderInvoice.OC01009 = Convert.ToDateTime(strcolumns[5].Trim()); //到货时间 } if (!string.IsNullOrEmpty(strcolumns[6].Trim())) { _OrderInvoice.OC01010 = Convert.ToInt32(strcolumns[6].Trim() == "N" ? "0" : "1"); //是否到货 } if (!string.IsNullOrEmpty(strcolumns[7].Trim())) { _OrderInvoice.OC01011 = Convert.ToDateTime(strcolumns[7].Trim()); //发货时间 } _OrderInvoice.OC01012 = strcolumns[8].Trim(); _OrderInvoice.OC01013 = strcolumns[9].Trim(); if (!string.IsNullOrEmpty(strcolumns[11].Trim())) { _OrderInvoice.OC01014 = Convert.ToInt32(strcolumns[11].Trim() == "N" ? "0" : "1"); //是否开发票 } if (!string.IsNullOrEmpty(strcolumns[12].Trim())) { _OrderInvoice.OC01015 = Convert.ToDateTime(strcolumns[12].Trim());//开发票时间 } _OrderInvoice.OC01017 = strcolumns[14].Trim(); _OrderInvoice.OC01018 = strcolumns[13].Trim(); _OrderInvoice.OC01019 = strcolumns[10].Trim(); _OrderInvoice.OC01020 = strcolumns[15].Trim(); listOrderInvoice.Add(_OrderInvoice); i++; } } } } #endregion #region 付款信息 OrderPayment _OrderPayment = new OrderPayment(); _OrderPayment.OP01002 = this.labOP01002.InnerText.Trim(); _OrderPayment.OP01003 = _OrderBase.OA01999; //订单GUID if (!string.IsNullOrEmpty(this.txtOA01009.Text.Trim())) { _OrderPayment.OP01004 = Convert.ToDateTime(this.txtOA01009.Text.Trim()); } if (!string.IsNullOrEmpty(Request.Form["txtOA01020"])) { _OrderPayment.OP01005 = Convert.ToDecimal(Request.Form["txtOA01020"]); } //if (!string.IsNullOrEmpty(this.ddlOP01006.SelectedValue)) _OrderPayment.OP01006 = Convert.ToInt32(this.ddlOP01006.SelectedValue); if (!string.IsNullOrEmpty(this.txtOP01007.Text.Trim())) { _OrderPayment.OP01007 = Convert.ToDecimal(this.txtOP01007.Text.Trim()); } _OrderPayment.OP01008 = this.txtOP01008.Text.Trim(); if (!string.IsNullOrEmpty(this.txtOP01009.Text.Trim())) { _OrderPayment.OP01009 = Convert.ToDecimal(this.txtOP01009.Text.Trim()); } _OrderPayment.OP01010 = this.txtOP01010.Text.Trim(); if (!string.IsNullOrEmpty(this.txtOP01011.Text.Trim())) { _OrderPayment.OP01011 = Convert.ToDecimal(this.txtOP01011.Text.Trim()); } _OrderPayment.OP01012 = this.txtOP01012.Text.Trim(); if (!string.IsNullOrEmpty(this.txtOP01013.Text.Trim())) { _OrderPayment.OP01013 = Convert.ToDecimal(this.txtOP01013.Text.Trim()); } _OrderPayment.OP01014 = this.txtOP01014.Text.Trim(); if (!string.IsNullOrEmpty(this.txtOP01015.Value.Trim())) { _OrderPayment.OP01015 = Convert.ToDecimal(this.txtOP01015.Value.Trim()); } if (!string.IsNullOrEmpty(this.txtOP01016.Value.Trim())) { _OrderPayment.OP01016 = Convert.ToDecimal(this.txtOP01016.Value.Trim()); } #region 添加5 6 7付款 if (!string.IsNullOrEmpty(this.txtOP01017.Text.Trim())) { _OrderPayment.OP01017 = Convert.ToDecimal(this.txtOP01017.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtOP01018.Text.Trim())) { _OrderPayment.OP01018 = this.txtOP01018.Text.Trim(); } if (!string.IsNullOrEmpty(this.txtOP01019.Text.Trim())) { _OrderPayment.OP01019 = Convert.ToDecimal(this.txtOP01019.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtOP01020.Text.Trim())) { _OrderPayment.OP01020 = this.txtOP01020.Text.Trim(); } if (!string.IsNullOrEmpty(this.txtOP01021.Text.Trim())) { _OrderPayment.OP01021 = Convert.ToDecimal(this.txtOP01021.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtOP01022.Text.Trim())) { _OrderPayment.OP01022 = this.txtOP01022.Text.Trim(); } #endregion _OrderPayment.OP01023 = this.txtOP01023.Text.Trim(); #endregion int result = Math.Abs(_OrderBLL.ModOrderBase(_OrderBase, listOrderProduct, listOrderInvoice, _OrderPayment)); new Sinoo.Common.MessageShow().InsertMessage(this, result, string.Format("window.location.href='{0}'", LinkReturn())); }
protected void Page_Load(object sender, EventArgs e) { CC = RequestData.Get <string>("CC"); string ids = RequestData.Get <string>("ids"); string[] idArray = null; if (!string.IsNullOrEmpty(ids)) { idArray = ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); } switch (RequestActionString) { case "CancelCorrespond": foreach (string str in idArray) //可以同时对多个付款进行撤销对应 { piEnt = PaymentInvoice.Find(str); string[] invoiceArray = piEnt.CorrespondInvoice.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < invoiceArray.Length; i++) { int index = invoiceArray[i].IndexOf("_"); string number = invoiceArray[i].Substring(0, index); //找到对应的发票号和销账金额 对发票进行回滚 decimal amount = Convert.ToDecimal(invoiceArray[i].Substring(index + 1)); OrderInvoice oiEnt = OrderInvoice.FindAllByProperty(OrderInvoice.Prop_Number, number).FirstOrDefault <OrderInvoice>(); oiEnt.PayAmount = oiEnt.PayAmount - amount; oiEnt.PayState = oiEnt.PayAmount > 0 ? "部分付款" : ""; oiEnt.DoUpdate(); } piEnt.CorrespondAmount = 0; piEnt.CorrespondInvoice = ""; piEnt.CorrespondState = ""; piEnt.Name = "暂不销账"; piEnt.DoUpdate(); } break; case "AutoCorrespond": foreach (string id in idArray) { piEnt = PaymentInvoice.Find(id); sql = @"select sum(Amount-isnull(PayAmount,0)) from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "'"; decimal shouldpayAmount = DataHelper.QueryValue <decimal>(sql); //合计应付金额 if (shouldpayAmount > 0) { decimal validAmount = piEnt.Money.Value - (piEnt.CorrespondAmount.HasValue ? piEnt.CorrespondAmount.Value : 0); //有效金额 if (shouldpayAmount >= validAmount) //如果 付款金额小于等于应付款总额 { sql = @"select * from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "' order by InvoiceDate asc"; IList <EasyDictionary> dics = DataHelper.QueryDictList(sql); //decimal payamount = piEnt.Money.Value; foreach (EasyDictionary dic in dics) { if (validAmount > 0) { OrderInvoice oiEnt = OrderInvoice.Find(dic.Get <string>("Id")); if (validAmount >= (oiEnt.Amount.Value - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0))) //大于等于该发票的未付金额 { validAmount = validAmount - (oiEnt.Amount.Value - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); oiEnt.PayState = "已全部付款"; piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + (oiEnt.Amount - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); oiEnt.PayAmount = oiEnt.Amount; } else { oiEnt.PayAmount = (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0) + validAmount; oiEnt.PayState = "部分付款"; piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + validAmount; validAmount = 0; } oiEnt.DoUpdate(); } } piEnt.CorrespondAmount = piEnt.Money; piEnt.CorrespondState = "已对应"; piEnt.Name = "自动销账"; piEnt.DoUpdate(); } else //如果付款金额大于应付款总金额 { sql = @"select * from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "' order by InvoiceDate asc"; IList <EasyDictionary> dics = DataHelper.QueryDictList(sql); foreach (EasyDictionary dic in dics) { OrderInvoice oiEnt = OrderInvoice.Find(dic.Get <string>("Id")); piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + (oiEnt.Amount - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); piEnt.CorrespondState = "部分对应"; piEnt.CorrespondAmount = (piEnt.CorrespondAmount.HasValue ? piEnt.CorrespondAmount.Value : 0) + shouldpayAmount; piEnt.DoUpdate(); oiEnt.PayState = "已全部付款"; oiEnt.PayAmount = oiEnt.Amount; oiEnt.DoUpdate(); } } } } break; case "delete": foreach (string str in idArray) { piEnt = PaymentInvoice.Find(str); piEnt.DoDelete(); } break; default: DoSelect(); break; } }
private void UpdateOrderInvoice()//销售付款创建完毕后 如果该客户有应付款记录 开始执行对应操作 { if (ent.Name == "自动销账") { PaymentInvoice piEnt = ent; piEnt.CorrespondInvoice = ""; sql = @"select sum(Amount-isnull(PayAmount,0)) from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "'"; decimal shouldpayAmount = DataHelper.QueryValue <decimal>(sql);//合计应付金额 if (shouldpayAmount > 0) { decimal validAmount = piEnt.Money.Value - (piEnt.CorrespondAmount.HasValue ? piEnt.CorrespondAmount.Value : 0); //有效金额 if (shouldpayAmount >= validAmount) //如果有效金额小于等于应付款总额 { sql = @"select * from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "' order by InvoiceDate asc"; IList <EasyDictionary> dics = DataHelper.QueryDictList(sql); foreach (EasyDictionary dic in dics) { if (validAmount > 0) { OrderInvoice oiEnt = OrderInvoice.Find(dic.Get <string>("Id")); if (validAmount >= (oiEnt.Amount.Value - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)))//大于等于该发票的未付金额 { validAmount = validAmount - (oiEnt.Amount.Value - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); oiEnt.PayState = "已全部付款"; piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + (oiEnt.Amount - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); oiEnt.PayAmount = oiEnt.Amount; } else { oiEnt.PayAmount = (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0) + validAmount; oiEnt.PayState = "部分付款"; piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + validAmount; validAmount = 0; } oiEnt.DoUpdate(); } } piEnt.CorrespondAmount = piEnt.Money; piEnt.CorrespondState = "已对应"; piEnt.Name = "自动销账"; piEnt.DoUpdate(); } else //如果付款金额大于应付款总金额 { sql = @"select * from SHHG_AimExamine..OrderInvoice where (PayState is null or PayState<>'已全部付款') and CId='" + piEnt.CId + "' order by InvoiceDate asc"; IList <EasyDictionary> dics = DataHelper.QueryDictList(sql); foreach (EasyDictionary dic in dics) { OrderInvoice oiEnt = OrderInvoice.Find(dic.Get <string>("Id")); piEnt.CorrespondInvoice += (string.IsNullOrEmpty(piEnt.CorrespondInvoice) ? "" : ",") + oiEnt.Number + "_" + (oiEnt.Amount - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)); piEnt.CorrespondState = "部分对应"; piEnt.CorrespondAmount = (piEnt.CorrespondAmount.HasValue ? piEnt.CorrespondAmount.Value : 0) + shouldpayAmount; piEnt.DoUpdate(); oiEnt.PayState = "已全部付款"; oiEnt.PayAmount = oiEnt.Amount; oiEnt.DoUpdate(); } } } } if (ent.Name == "手动销账") { string[] orderinvoiceArray = ent.CorrespondInvoice.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); ent.CorrespondInvoice = ""; foreach (string str in orderinvoiceArray) { OrderInvoice oiEnt = OrderInvoice.FindAllByProperty(OrderInvoice.Prop_Number, str).FirstOrDefault <OrderInvoice>(); ent.CorrespondInvoice += oiEnt.Number + "_" + (oiEnt.Amount - (oiEnt.PayAmount.HasValue ? oiEnt.PayAmount.Value : 0)) + ","; oiEnt.PayAmount = oiEnt.Amount; oiEnt.PayState = "已全部付款"; oiEnt.DoUpdate(); } ent.CorrespondState = "已对应"; ent.DoUpdate(); } if (ent.Name == "暂不销账") { ent.CorrespondInvoice = ""; ent.DoUpdate(); } }
/// <inheritdoc cref="SubmitOrderAsync(string, OrderBasic, OrderSku[], OrderInvoice, OrderReserving)"/> public async Task <RspResult <OrderSubmitResult> > SubmitOrderAsync(OrderBasic basic, OrderSku[] sku, OrderInvoice invoice, OrderReserving reserving = null) => await SubmitOrderAsync(this.AccessToken, basic, sku, invoice, reserving);
static void Main(string[] args) { int choice = 0; var dbContext = new ToyManufacturerDbEntities(); Console.WriteLine("1. Add offers"); Console.WriteLine("2. Add Customer"); Console.WriteLine("3. Login Customer"); Console.WriteLine("4. Add Plants"); Console.WriteLine("5. Add Toy"); Console.WriteLine("Enter Your Choice : "); choice = Convert.ToInt32(Console.ReadLine()); do { switch (choice) { case 1: Offer offer = new Offer(); offer.GetData(); dbContext.Offers.Add(offer); dbContext.SaveChanges(); Console.WriteLine("Offer Added Successfully"); break; case 2: Customer customer = new Customer(); customer.GetData(); var check = dbContext.Customers.SingleOrDefault(t => t.CustomerEmail == customer.CustomerEmail); if (check == null) { try { dbContext.Customers.Add(customer); dbContext.SaveChanges(); Console.WriteLine("Customer Added Successfully"); } catch (Exception e) { Console.WriteLine(e); } } else { Console.WriteLine("Customer Already Exists"); } break; case 3: login(); break; case 4: Plant plant = new Plant(); plant.GetData(); dbContext.Plants.Add(plant); break; case 5: Toy toy = new Toy(); toy.GetData(); dbContext.Toys.Add(toy); dbContext.SaveChanges(); break; } Console.WriteLine("Enter Your Choice : "); choice = Convert.ToInt32(Console.ReadLine()); } while (choice != 0); void login() { using (dbContext) { var customer = new Customer(); Console.WriteLine("Enter Your Email Id : "); customer.CustomerEmail = Console.ReadLine(); var check = dbContext.Customers.SingleOrDefault(t => t.CustomerEmail == customer.CustomerEmail); if (check == null) { Console.WriteLine("Please Enter Valid Credentials"); } else { Console.WriteLine("You have logged in successfully"); AddOrder(check.CustomerId); } } } void AddOrder(int customerid) { using (dbContext) { var order = new Order(); var toy = new Toy(); toy.List(); Console.WriteLine("Enter you want to Buy Toy Id :"); order.CustomerId = customerid; ShowAddress(customerid); Console.WriteLine("Enter Address id where you want delivery: "); order.AddressId = Convert.ToInt32(Console.ReadLine()); try { dbContext.Orders.Add(order); dbContext.SaveChanges(); var orderInvoice = dbContext.Orders.Where(t => t.CustomerId == customerid).FirstOrDefault(); var orderId = orderInvoice.OrderId; Console.WriteLine("Enter ToyId you want Buy :"); var toyid = Convert.ToInt32(Console.ReadLine()); AddOrderInvoiceDetail(orderId, toyid); } catch (Exception e) { Console.WriteLine(e); } } } void AddOrderInvoiceDetail(int orderid, int toyid) { using (dbContext) { var orderInvoice = new OrderInvoice(); orderInvoice.OrderId = orderid; orderInvoice.ToyId = toyid; try { dbContext.OrderInvoices.Add(orderInvoice); dbContext.SaveChanges(); Console.WriteLine("Your Invoice is Generated"); } catch (Exception e) { Console.WriteLine(e); } } } void ShowAddress(int customerid) { var addressList = dbContext.Addresses.Where(t => t.CustomerId == customerid); if (addressList != null) { Console.WriteLine("AddressId \t Location \t City \tPincode"); } foreach (var address in addressList) { Console.WriteLine(address.AddressId + address.AddressLocation + address.City + address.Pincode); } } }
/// <summary> /// 提交订单信息,生成京东订单。 /// </summary> /// <param name="token">授权时获取的 AccessToken</param> /// <param name="basic">用户订单基础信息</param> /// <param name="sku">订单商品列表</param> /// <param name="invoice">发票信息</param> /// <param name="reserving">配送预约信息</param> public static async Task <RspResult <OrderSubmitResult> > SubmitOrderAsync(string token, OrderBasic basic, OrderSku[] sku, OrderInvoice invoice, OrderReserving reserving = null) { if (string.IsNullOrEmpty(token)) { throw AccessTokenArgumentException; } var parameter = new Dictionary <string, string> { { "token", token }, { "sku", $"[{string.Join(',', sku.Select(v => v.ToString()))}]" }, }; var union = parameter.Union(basic.KV); union = union.Union(invoice.KV); if (reserving != null) { union = union.Union(reserving.KV); } var url = "/api/order/submitOrder"; return(await PostAsync <OrderSubmitResult>(url, union.ToDictionary(v => v.Key, v => v.Value))); }
/// <summary> /// 保存数据 /// </summary> private void DataSave() { if (string.IsNullOrEmpty(Request.QueryString["OA01001"])) { return; } #region 退货订单 DataTable dt = _OrderBLL.SelectOrderBaseByCustomerId(this.txtOA01039.Text.Trim()); //根据订单查询客户编码 OrderBase _OrderBase = new OrderBase(); _OrderBase.OA01001 = Convert.ToInt32(Request.QueryString["OA01001"]); _OrderBase.OA01002 = this.txtOA01002.Text.Trim(); _OrderBase.OA01003 = 2; //退货单 _OrderBase.OA01004 = 1; //下单 _OrderBase.OA01008 = this.txtOA01008.Text.Trim(); _OrderBase.OA01009 = Convert.ToDateTime(this.txtOA01009.Text.Trim()); _OrderBase.OA01015 = Request.Form["txtOA01015"]; _OrderBase.OA01017 = Request.Form["txtOA01017"]; _OrderBase.OA01020 = string.IsNullOrEmpty(this.txtOA01020.Value.Trim()) || this.txtOA01020.Value.Trim() == "" ? 0 : Convert.ToDecimal("-" + this.txtOA01020.Value.Trim()); _OrderBase.OA01021 = string.IsNullOrEmpty(this.txtOA01021.Value.Trim()) || this.txtOA01020.Value.Trim() == "" ? 0 : Convert.ToDecimal(this.txtOA01021.Value.Trim()); _OrderBase.OA01022 = string.IsNullOrEmpty(this.txtOA01020.Value.Trim()) || this.txtOA01020.Value.Trim() == "" ? 0 : Convert.ToDecimal("-" + this.txtOA01022.Value.Trim()); _OrderBase.OA01027 = this.txtOA01027.Text.Trim(); _OrderBase.OA01036 = dt.Rows[0]["OA01036"].ToString(); //客户编码 _OrderBase.OA01039 = this.txtOA01039.Text.Trim(); _OrderBase.OA01049 = this.txtOA01049.Text.Trim(); _OrderBase.OA01050 = this.txtOA01050.Text.Trim(); _OrderBase.OA01013 = this.txtOA01013.Value; _OrderBase.OA01060 = Convert.ToDecimal(new OrderBLL().SelectOrderBaseById(_OrderBase.OA01001.ToString()).Rows[0]["OA01060"]); if (ddlOA01016.SelectedValue != "") { _OrderBase.OA01016 = Convert.ToDecimal(ddlOA01016.SelectedValue); } if (ddlOA01018.SelectedValue != "") { _OrderBase.OA01018 = Convert.ToDecimal(ddlOA01018.SelectedValue); } _OrderBase.OA01025 = Convert.ToInt32(ddlOA01025.SelectedValue); _OrderBase.OA01999 = ViewState["OA01999"].ToString(); if (rbtnOA01005No.Checked) { _OrderBase.OA01005 = 0; } if (rbtnOA01005Yew.Checked) { _OrderBase.OA01005 = 1; } #endregion #region 退货订单明细 List <OrderProduct> listOrderProduct = new List <OrderProduct>(); if (!string.IsNullOrEmpty(this.txtmingxi.Value)) //判断是否有订单明细数据 { string strmingxi = this.txtmingxi.Value; //获取明细数据 string[] strrow = strmingxi.Split(new[] { "_&_" }, StringSplitOptions.None); if (strrow.Length > 0) { foreach (string itemrow in strrow) { string[] strcolumns = itemrow.Split(new[] { "_^_" }, StringSplitOptions.None); if (strcolumns.Length > 0) { if (strcolumns[0].Trim() != "") { OrderProduct _OrderProduct = new OrderProduct(); _OrderProduct.OB01002 = ViewState["OA01999"].ToString(); //订单编号 _OrderProduct.OB01003 = 2; _OrderProduct.OB01004 = Convert.ToInt32(strcolumns[10].Trim()); //商品Id _OrderProduct.OB01005 = strcolumns[0].ToString().Trim(); //商品型号 _OrderProduct.OB01006 = strcolumns[1].ToString().Trim(); //商品描述 if (strcolumns[2].Trim() != "") { _OrderProduct.OB01007 = Convert.ToInt32(strcolumns[2].Trim()); //商品数量 } if (strcolumns[3].Trim() != "") { _OrderProduct.OB01008 = Convert.ToDecimal(strcolumns[3].Trim()); //含税单价(含税价格) } if (strcolumns[4].Trim() != "") { _OrderProduct.OB01009 = Convert.ToDecimal(strcolumns[4].Trim()); //含税总价(含税总计) } if (strcolumns[5].Trim() != "") { _OrderProduct.OB01010 = Convert.ToDecimal(strcolumns[5].Trim()); //不含税单价(不含税价格 } if (strcolumns[6].Trim() != "") { _OrderProduct.OB01011 = Convert.ToDecimal(strcolumns[6].Trim()); //不含税总价(不含税总计) } if (strcolumns[7].Trim() != "") { _OrderProduct.OB01012 = Convert.ToDecimal(strcolumns[7].Trim()); //税额 } if (strcolumns[8].Trim() != "") { _OrderProduct.OB01013 = Convert.ToDecimal(strcolumns[8].Trim()); //单位成本 } if (strcolumns[9].Trim() != "") { _OrderProduct.OB01014 = Convert.ToDecimal(strcolumns[9].Trim()); //合计成本 } _OrderProduct.OB01999 = Guid.NewGuid().ToString(); //GUID listOrderProduct.Add(_OrderProduct); } } } } } #endregion #region 退货发票 List <OrderInvoice> listOrderInvoice = new List <OrderInvoice>(); if (!string.IsNullOrEmpty(this.txtfapiao.Value)) //判断是否有发票数据 { string strfapiao = this.txtfapiao.Value; //获取发票数据 string[] strrow1 = strfapiao.Split('&'); if (strrow1.Length > 0) { int i = 0; foreach (string itemrow in strrow1) { string[] strcolumns = itemrow.Split('^'); if (strcolumns.Length > 0) { OrderInvoice _OrderInvoice = new OrderInvoice(); _OrderInvoice.OC01002 = Convert.ToInt32(strcolumns[0].Trim()); //序号 _OrderInvoice.OC01003 = listOrderProduct[i].OB01999.ToString(); //商品GUID; _OrderInvoice.OC01004 = 2; //退货单 if (strcolumns[1].Trim() != "") { _OrderInvoice.OC01005 = strcolumns[1].ToString().Trim(); //型号 } if (strcolumns[2].Trim() != "") { _OrderInvoice.OC01006 = Convert.ToInt32(strcolumns[2].Trim()); //数量 } if (strcolumns[3] == "N") { strcolumns[3] = "0"; } else { strcolumns[3] = "1"; } _OrderInvoice.OC01007 = Convert.ToInt32(strcolumns[3].Trim()); //是否收货 if (strcolumns[4].Trim() != "") { _OrderInvoice.OC01009 = Convert.ToDateTime(strcolumns[4].Trim()); //收获时间 } if (strcolumns[5] == "N") { strcolumns[5] = "0"; } else { strcolumns[5] = "1"; } _OrderInvoice.OC01014 = Convert.ToInt32(strcolumns[5].Trim()); //是否开发票 if (strcolumns[6].Trim() != "") { _OrderInvoice.OC01016 = Convert.ToDateTime(strcolumns[6].Trim()); //退发票时间 } listOrderInvoice.Add(_OrderInvoice); i++; } } } } #endregion int num = Math.Abs(_OrderBLL.ModOrderBase(_OrderBase, listOrderProduct, listOrderInvoice)); new Sinoo.Common.MessageShow().UpdateMessage(this , num , string.Format("location.href='{0}'", LinkReturn())); }
public void Invoice([FromBody] OrderInvoice values) { _orderInvoice.Insert(values, RequestContext.Principal.Identity.Name); }
/// <summary> /// 保存数据 /// </summary> private void DataSave() { #region 退货订单 DataTable dt = _OrderBLL.SelectOrderBaseByCustomerId(this.txtOA01039.Text.Trim()); //根据订单查询客户编码 OrderBase _OrderBase = new OrderBase(); _OrderBase.OA01002 = this.txtOA01002.Text.Trim(); _OrderBase.OA01003 = 2; //退货单 _OrderBase.OA01004 = 1; //下单 _OrderBase.OA01008 = this.txtOA01008.Text.Trim(); _OrderBase.OA01009 = Convert.ToDateTime(this.txtOA01009.Text.Trim()); _OrderBase.OA01015 = Request.Form["txtOA01015"]; _OrderBase.OA01016 = 0; _OrderBase.OA01017 = Request.Form["txtOA01017"]; _OrderBase.OA01018 = 0; _OrderBase.OA01020 = string.IsNullOrEmpty(this.txtOA01020.Value.Trim()) || this.txtOA01020.Value.Trim() == "" ? 0 : Convert.ToDecimal("-" + this.txtOA01020.Value.Trim()); _OrderBase.OA01021 = string.IsNullOrEmpty(this.txtOA01021.Value.Trim()) || this.txtOA01021.Value.Trim() == "" ? 0 : Convert.ToDecimal(this.txtOA01021.Value.Trim()); _OrderBase.OA01022 = string.IsNullOrEmpty(this.txtOA01022.Value.Trim()) || this.txtOA01022.Value.Trim() == "" ? 0 : Convert.ToDecimal("-" + this.txtOA01022.Value.Trim()); _OrderBase.OA01027 = this.txtOA01027.Text.Trim(); _OrderBase.OA01036 = dt.Rows[0]["OA01036"].ToString(); //客户编码 _OrderBase.OA01038 = Convert.ToInt32(dt.Rows[0]["OA01038"]); //客户Id _OrderBase.OA01039 = dt.Rows[0]["OA01039"].ToString(); //注订单编号 if (!(dt.Rows[0]["OA01040"] is DBNull)) { _OrderBase.OA01040 = Convert.ToInt32(dt.Rows[0]["OA01040"]); //行业分类 } if (!(dt.Rows[0]["OA01041"] is DBNull)) { _OrderBase.OA01041 = Convert.ToInt32(dt.Rows[0]["OA01041"]); //行业代码 } if (!(dt.Rows[0]["OA01042"] is DBNull)) { _OrderBase.OA01042 = Convert.ToInt32(dt.Rows[0]["OA01042"]); //204电子分类 } if (!(dt.Rows[0]["OA01043"] is DBNull)) { _OrderBase.OA01043 = Convert.ToInt32(dt.Rows[0]["OA01043"]); //220汽车分类 } if (!(dt.Rows[0]["OA01044"] is DBNull)) { _OrderBase.OA01044 = Convert.ToInt32(dt.Rows[0]["OA01044"]); //是否为新客户 } _OrderBase.OA01039 = this.txtOA01039.Text.Trim(); _OrderBase.OA01049 = this.txtOA01049.Text.Trim(); _OrderBase.OA01050 = this.txtOA01050.Text.Trim(); _OrderBase.OA01013 = this.txtOA01013.Value; if (ddlOA01016.SelectedValue != "") { _OrderBase.OA01016 = Convert.ToDecimal(ddlOA01016.SelectedValue); } if (ddlOA01018.SelectedValue != "") { _OrderBase.OA01018 = Convert.ToDecimal(ddlOA01018.SelectedValue); } _OrderBase.OA01025 = Convert.ToInt32(ddlOA01025.SelectedValue); _OrderBase.OA01052 = (Session["USER_SESSION"] as UserBase).UA01001; _OrderBase.OA01060 = Convert.ToDecimal(new AreaBLL().GetSettings().Rows[0]["Value"]); _OrderBase.OA01999 = Guid.NewGuid().ToString(); if (rbtnOA01005No.Checked) { _OrderBase.OA01005 = 0; } if (rbtnOA01005Yew.Checked) { _OrderBase.OA01005 = 1; } #endregion #region 退货订单明细 List <OrderProduct> listOrderProduct = new List <OrderProduct>(); if (!string.IsNullOrEmpty(this.txtmingxi.Value)) //判断是否有订单明细数据 { string strmingxi = this.txtmingxi.Value; //获取明细数据 string[] strrow = strmingxi.Split(new[] { "_&_" }, StringSplitOptions.None); if (strrow.Length > 0) { foreach (string itemrow in strrow) { string[] strcolumns = itemrow.Split(new[] { "_^_" }, StringSplitOptions.None); if (strcolumns.Length > 0) { if (strcolumns[0].Trim() != "") { OrderProduct _OrderProduct = new OrderProduct(); _OrderProduct.OB01002 = _OrderBase.OA01999; //订单GUID _OrderProduct.OB01003 = 2; _OrderProduct.OB01004 = Convert.ToInt32(strcolumns[10].Trim()); //商品Id _OrderProduct.OB01005 = strcolumns[0].ToString().Trim(); //商品型号 _OrderProduct.OB01006 = strcolumns[1].ToString().Trim(); //商品描述 if (strcolumns[2].Trim() != "") { _OrderProduct.OB01007 = Convert.ToInt32(strcolumns[2].Trim()); //商品数量 } if (strcolumns[3].Trim() != "") { _OrderProduct.OB01008 = Convert.ToDecimal(strcolumns[3].Trim()); //含税单价(含税价格) } if (strcolumns[4].Trim() != "") { _OrderProduct.OB01009 = Convert.ToDecimal(strcolumns[4].Trim()); //含税总价(含税总计) } if (strcolumns[5].Trim() != "") { _OrderProduct.OB01010 = Convert.ToDecimal(strcolumns[5].Trim()); //不含税单价(不含税价格 } if (strcolumns[6].Trim() != "") { _OrderProduct.OB01011 = Convert.ToDecimal(strcolumns[6].Trim()); //不含税总价(不含税总计) } if (strcolumns[7].Trim() != "") { _OrderProduct.OB01012 = Convert.ToDecimal(strcolumns[7].Trim()); //税额 } if (strcolumns[8].Trim() != "") { _OrderProduct.OB01013 = Convert.ToDecimal(strcolumns[8].Trim()); //单位成本 } if (strcolumns[9].Trim() != "") { _OrderProduct.OB01014 = Convert.ToDecimal(strcolumns[9].Trim()); //合计成本 } _OrderProduct.OB01999 = Guid.NewGuid().ToString(); //GUID listOrderProduct.Add(_OrderProduct); } } } } } #endregion #region 退货发票 List <OrderInvoice> listOrderInvoice = new List <OrderInvoice>(); if (!string.IsNullOrEmpty(this.txtfapiao.Value)) //判断是否有发票数据 { string strfapiao = this.txtfapiao.Value; //获取发票数据 string[] strrow1 = strfapiao.Split('&'); if (strrow1.Length > 0) { int i = 0; foreach (string itemrow in strrow1) { string[] strcolumns = itemrow.Split('^'); if (strcolumns.Length > 0) { OrderInvoice _OrderInvoice = new OrderInvoice(); _OrderInvoice.OC01002 = Convert.ToInt32(strcolumns[0].Trim()); //序号 _OrderInvoice.OC01003 = listOrderProduct[i].OB01999.ToString(); //商品GUID; _OrderInvoice.OC01004 = 2; //退货单 if (strcolumns[1].Trim() != "") { _OrderInvoice.OC01005 = strcolumns[1].ToString().Trim(); //型号 } if (strcolumns[2].Trim() != "") { _OrderInvoice.OC01006 = Convert.ToInt32(strcolumns[2].Trim()); //数量 } if (strcolumns[3] == "N") { strcolumns[3] = "0"; } else { strcolumns[3] = "1"; } _OrderInvoice.OC01007 = Convert.ToInt32(strcolumns[3].Trim()); //是否收货 if (strcolumns[4].Trim() != "") { _OrderInvoice.OC01009 = Convert.ToDateTime(strcolumns[4].Trim()); //收获时间 } if (strcolumns[5] == "N") { strcolumns[5] = "0"; } else { strcolumns[5] = "1"; } _OrderInvoice.OC01014 = Convert.ToInt32(strcolumns[5].Trim()); //是否开发票 if (strcolumns[6].Trim() != "") { _OrderInvoice.OC01016 = Convert.ToDateTime(strcolumns[6].Trim()); //退发票时间 } listOrderInvoice.Add(_OrderInvoice); i++; } } } } #endregion int num = Math.Abs(_OrderBLL.AddOrderBase(_OrderBase, listOrderProduct, listOrderInvoice)); new Sinoo.Common.MessageShow().InsertMessage(this, num, "DataClear()"); }
public void Invoice(int id, [FromBody] OrderInvoice values) { _orderInvoice.Update(values, RequestContext.Principal.Identity.Name); }