/// <summary> /// 修改订单信息 /// </summary> /// <param name="strjson">前台返回的json对象</param> public void Update_order(string strjson) { //反序列化(将json字符串转换成对象) Update_OrderInfo U_Order = new Update_OrderInfo(); U_Order = JsonConvert.DeserializeObject <Update_OrderInfo>(strjson); //修改数据库 //得到订单编号 int orderid = Convert.ToInt32(U_Order.OFI_ID); //修改订单信息 OrderFormInfo Order_update = shop.OrderFormInfo.Where(a => a.OFI_ID == orderid).FirstOrDefault(); Order_update.OFI_Number = Convert.ToInt32(U_Order.OFI_Number); Order_update.OFI_States = Convert.ToInt32(U_Order.IsState); //修改默认地址信息 MyAddressInfo Address_Update = shop.MyAddressInfo.Where(a => a.MAI_ID == Order_update.OFI_SAI_ID).FirstOrDefault(); Address_Update.MAI_Name = U_Order.GetName; Address_Update.MAI_Phone = U_Order.Phone; int count = shop.SaveChanges(); if (count > 0) { Response.Write("success"); } else { Response.Write("fail"); } }
public ActionResult SendPartner(string documentId, MyAddressInfo address, bool useAPI) { var checkDocument = db.MM_MailerPartner.Find(documentId); if (checkDocument == null) { return(Json(new ResultInfo() { error = 1, msg = "Sai thông tin" }, JsonRequestBehavior.AllowGet)); } var partner = db.BS_Partners.Find(checkDocument.PartnerID); if (partner == null) { return(Json(new ResultInfo() { error = 1, msg = "Sai thông tin" }, JsonRequestBehavior.AllowGet)); } // if (useAPI) { switch (partner.PartnerCode) { case "VIETTEL": SendViettelHandle viettelHandle = new SendViettelHandle(db, partner, HandleHistory); viettelHandle.SendViettelPost(checkDocument.DocumentID, address); break; default: var details = db.MAILER_PARTNER_GETDETAIL(documentId).ToList(); foreach (var item in details) { var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == item.MailerID).FirstOrDefault(); var mailer = db.MM_Mailers.Find(item.MailerID); checkDetail.StatusID = 1; db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified; mailer.ThirdpartyDocID = checkDetail.OrderReference; mailer.ThirdpartyCode = partner.PartnerCode; mailer.ThirdpartyID = partner.PartnerID; mailer.CurrentStatusID = 9; mailer.ThirdpartyCost = Convert.ToDecimal(checkDetail.OrderCosst); db.Entry(mailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } break; } } else { var details = db.MAILER_PARTNER_GETDETAIL(documentId).ToList(); foreach (var item in details) { var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == item.MailerID).FirstOrDefault(); var mailer = db.MM_Mailers.Find(item.MailerID); checkDetail.StatusID = 1; db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified; mailer.ThirdpartyDocID = checkDetail.OrderReference; mailer.ThirdpartyCode = partner.PartnerCode; mailer.ThirdpartyID = partner.PartnerID; mailer.CurrentStatusID = 9; mailer.ThirdpartyCost = Convert.ToDecimal(checkDetail.OrderCosst); db.Entry(mailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } return(Json(new ResultInfo() { error = 0, msg = "" }, JsonRequestBehavior.AllowGet)); }
public void SendViettelPost(string documentId, MyAddressInfo infoAddress) { var token = CheckTokenExpired(partner); string url = @"https://api.viettelpost.vn/api/tmdt/InsertOrder"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = "application/json"; request.Method = "POST"; request.Headers["Token"] = token; var details = db.MAILER_PARTNER_GETDETAIL(documentId).ToList(); foreach (var item in details) { try { ViettelOrderSend info = new ViettelOrderSend() { ORDER_NUMBER = item.MailerID, GROUPADDRESS_ID = 0, DELIVERY_DATE = DateTime.Now.AddDays(1).ToString("dd/MM/yyyy HH:mm:ss"), CUS_ID = Convert.ToInt32(partner.UserID), SENDER_FULLNAME = infoAddress.name, SENDER_ADDRESS = infoAddress.address, SENDER_EMAIL = infoAddress.email, SENDER_PHONE = infoAddress.phone, SENDER_WARD = Convert.ToInt32(infoAddress.ward), SENDER_DISTRICT = Convert.ToInt32(infoAddress.district), SENDER_PROVINCE = Convert.ToInt32(infoAddress.province), SENDER_LATITUDE = 0, SENDER_LONGITUDE = 0, RECEIVER_FULLNAME = item.RecieverName, RECEIVER_ADDRESS = item.RecieverAddress, RECEIVER_PHONE = item.RecieverPhone, RECEIVER_DISTRICT = Convert.ToInt32(item.RecieverDistrictID), RECEIVER_PROVINCE = Convert.ToInt32(item.RecieverProvinceID), RECEIVER_WARD = Convert.ToInt32(item.RecieverWardID), PRODUCT_QUANTITY = Convert.ToInt32(item.Quantity), RECEIVER_EMAIL = "", RECEIVER_LATITUDE = 0, RECEIVER_LONGITUDE = 0, PRODUCT_NAME = "", PRODUCT_HEIGHT = 0, PRODUCT_LENGTH = 0, PRODUCT_WEIGHT = 0, PRODUCT_WIDTH = 0, ORDER_NOTE = item.Notes, PRODUCT_DESCRIPTION = item.MailerDescription, MONEY_COLLECTION = Convert.ToString(Convert.ToInt32(item.COD)), ORDER_SERVICE = "VCN", PRODUCT_TYPE = "HH", PRODUCT_PRICE = Convert.ToInt32(item.MerchandiseValue), ORDER_PAYMENT = 3 }; var findServiceMap = db.PARTNER_MAP_INFO("VIETTEL", "SERVICE").ToList(); info.ORDER_SERVICE = findServiceMap.Where(p => p.MNPostData == item.MailerTypeID).Select(p => p.PartnerData).FirstOrDefault(); var priceSend = sendCalPrice(new CalPriceVietle() { SENDER_PROVINCE = info.SENDER_PROVINCE, SENDER_DISTRICT = info.SENDER_DISTRICT, RECEIVER_PROVINCE = info.RECEIVER_PROVINCE, RECEIVER_DISTRICT = info.RECEIVER_DISTRICT, PRODUCT_TYPE = "HH", ORDER_SERVICE = info.ORDER_SERVICE, PRODUCT_WEIGHT = info.PRODUCT_WEIGHT, PRODUCT_PRICE = info.PRODUCT_PRICE, MONEY_COLLECTION = info.MONEY_COLLECTION, }); info.MONEY_TOTAL = priceSend; string json = new JavaScriptSerializer().Serialize(info); using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)request.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); var res = Json.Decode(result); if (res.status != null) { var checkDetail = db.MM_MailerPartnerDetail.Where(p => p.DocumentID == documentId && p.MailerID == item.MailerID).FirstOrDefault(); var mailer = db.MM_Mailers.Find(item.MailerID); checkDetail.StatusID = 1; checkDetail.OrderReference = res.data.ORDER_NUMBER; checkDetail.OrderCosst = info.MONEY_TOTAL; db.Entry(checkDetail).State = System.Data.Entity.EntityState.Modified; mailer.ThirdpartyDocID = res.data.ORDER_NUMBER; mailer.ThirdpartyCode = partner.PartnerCode; mailer.ThirdpartyID = partner.PartnerID; mailer.CurrentStatusID = 9; mailer.ThirdpartyCost = info.MONEY_TOTAL; db.Entry(mailer).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); // tracking // HandleHistory.AddTracking(3, mailer.MailerID, res.data.ORDER_NUMBER, mailer.CurrentPostOfficeID, "Chuyển qua đối tác " + partner.ParterName + ", vận đơn đối tác : " + res.data.ORDER_NUMBER); } } } catch (Exception e) { Console.WriteLine(e.Message); } } var document = db.MM_MailerPartner.Find(documentId); document.StatusID = 1; db.Entry(document).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); }