public OrderDetailModel(orderDetails mst) { ORD_NO = mst.ORD_NO; MDL_NO = mst.MDL_NO; OPT_NUM = mst.OPT_NUM; DESC = mst.DESC; CLR = mst.CLR; PAT_POS = mst.PAT_POS; MDL_CNT = mst.MDL_CNT; }
public OrderDetailsData(orderDetails od) { Command = od.command; RequestId = NewGuid(od.requestId); ORD_NO = od.ORD_NO; MDL_NO = od.MDL_NO; OPT_NUM = od.OPT_NUM; OPT_TYPE = od.OPT_TYPE; DESC = od.DESC; CLR = od.CLR; MDL_CNT = od.MDL_CNT; PAT_POS = Convert.ToByte(od.PAT_POS); SCAN_DATE_TIME = od.ScanTime; }
var(orderDetails, challengeResults) = input;
protected void Button3_Click(object sender, EventArgs e) { if (TextBox2.Text.Length != 0) { Session["memberid"] = TextBox2.Text.ToString(); } else { Session["memberid"] = "00000"; } int flag = 0; for (int i = 0; i < GridView1.Rows.Count; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); if (cbox.Checked == true) { flag++; //Response.Write(GridView1.DataKeys[i].Value.ToString()); //TextBox2.Text += GridView1.DataKeys[i].Value.ToString(); DataClassesDataContext data = new DataClassesDataContext("Data Source=.;Initial Catalog=DSMS;Integrated Security=True"); /////////////////////////////////////////////// var exist = from orderform1 in data.orderform where orderform1.orderformid == Session["orderformid"].ToString() select orderform1; if (flag == 1 && exist.Count() == 0) { orderform form = new orderform(); form.orderformid = Session["orderformid"].ToString(); form.stuffid = Session["stuffid"].ToString(); form.drugstoreid = Session["drugstoreid"].ToString(); if (TextBox2.Text.Length != 0) { form.memberid = TextBox2.Text.ToString(); } else { form.memberid = "00000"; } form.saletime = DateTime.Now; form.totalmoney = 0; data.orderform.InsertOnSubmit(form); data.SubmitChanges(); } ///////////////////////////////////////// orderDetails de = new orderDetails(); de.datailid = Session["detailid"].ToString(); //de.datailid = "111"; // de.orderformid = Session["orderformid"].ToString(); de.orderformid = Session["orderformid"].ToString(); de.drugid = GridView1.DataKeys[i].Value.ToString(); de.discount = 1; de.drugnumber = 1; data.orderDetails.InsertOnSubmit(de); data.SubmitChanges(); } } Response.Redirect("OrderDetails.aspx"); }
static Dictionary <short, Dictionary <byte, List <long> > > dTruckCodeToDealerNumbers = new Dictionary <short, Dictionary <byte, List <long> > >(); //TruckCode -> <Seq, List<Orders>> public static isaCommand CommandFactory(byte[] cmdBytes) { isaCommand cmd = new Command().FromArray(cmdBytes); switch (cmd.command) { case eCommand.Broadcast: //Broadcast cmdType = Broadcast.FromArray(cmdBytes); break; case eCommand.DeliveryComplete: //Broadcast cmdType = Broadcast.FromArray(cmdBytes); break; case eCommand.CheckManifest: case eCommand.CheckManifestComplete: manifestMaster mamr = new manifestMaster(); cmd = mamr.FromArray(cmdBytes); break; case eCommand.GenerateManifest: manifestRequest mr = new manifestRequest(); cmd = mr.FromArray(cmdBytes); if (cmd == null) { manifestMaster mmr = new manifestMaster(); cmd = mmr.FromArray(cmdBytes); } //Call ApplicationServer to return the data requested. //UMDManifest. break; case eCommand.OrdersLoad: //orders ords = new orders(); //cmd = ords.FromArray(cmdBytes); orderMaster orm = new orderMaster(); cmd = orm.FromArray(cmdBytes); break; case eCommand.Trucks: trucks trks = new trucks(); cmd = trks.FromArray(cmdBytes); break; case eCommand.Stops: stops stps = new stops(); cmd = stps.FromArray(cmdBytes); break; case eCommand.OrderDetails: orderDetails cmdType = new orderDetails(); cmd = cmdType.FromArray(cmdBytes); break; case eCommand.Manifest: manifestMaster mm = new manifestMaster(); cmd = mm.FromArray(cmdBytes); break; case eCommand.ManifestDetails: manifestDetails md = new manifestDetails(); cmd = md.FromArray(cmdBytes); break; case eCommand.OrdersUpload: orderMaster om = new orderMaster(); cmd = om.FromArray(cmdBytes); OrderMasterData omd = new OrderMasterData(om); if (!dStopOrders.ContainsKey(omd.DLR_NO)) { dStopOrders.Add(omd.DLR_NO, new List <long>() { omd.ORD_NO }); } break; case eCommand.ScanFile: scanFile sc = new scanFile(); cmd = sc.FromArray(cmdBytes); ScanFileData scd = new ScanFileData(sc); break; case eCommand.OrderOptions: orderOptions oo = new orderOptions(); cmd = oo.FromArray(cmdBytes); //OrderOptionsData ood = new OrderOptionsData(oo); break; case eCommand.AccountReceivable: accountReceivable ar = new accountReceivable(); cmd = ar.FromArray(cmdBytes); // AccountsReceivableData acr = new AccountsReceivableData((accountReceivable)cmd); break; case eCommand.ManifestLoadComplete: case eCommand.TrucksLoadComplete: case eCommand.StopsLoadComplete: case eCommand.OrdersLoadComplete: case eCommand.OrderUpdatesComplete: case eCommand.OrderDetailsComplete: case eCommand.OrderOptionsComplete: case eCommand.ManifestDetailsComplete: case eCommand.UploadManifestComplete: case eCommand.LoadFilesComplete: Logger.Info($"CommandFactory: {Enum.GetName(typeof(eCommand), cmd.command) + Environment.NewLine}"); manifestRequest req = new manifestRequest(); Logger.Info($"CommandFactory: {req.ToString()}"); cmd = req.FromArray(cmdBytes); break; case eCommand.Ping: //Broadcast cmdType = Broadcast.FromArray(cmdBytes); //cmd = SendPong(); break; case eCommand.Pong: //Broadcast cmdType = Broadcast.FromArray(cmdBytes); //Broadcast cmdType = Broadcast.FromArray(cmdBytes); break; case eCommand.RunQuery: //Broadcast cmdType = Broadcast.FromArray(cmdBytes); break; default: break; } return(cmd); }
public ActionResult Checkout(user _user, bool?shipbox, int?shipmethod, int?paymentmethod, int?paymenttype, string ad, string soyad, string adres, string sehir, int?postakodu, string eposta, string telefon) { //shipbox-> shipbox true ise başkası adına yada basşa bir farklı adrese gönderim //shipmethod-> Hızlıgönderim:10 tl yada normal gönderim 5 tl //paymentmethod_>ödeme tipi 1-havale,2-kredi kartı,3- kapıda ödeme vb. string message = ""; bool status = false; bool orderCompleted = false; if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "User")); } user loginUser = repoUser.GetAll().Where(x => x.email == User.Identity.Name).FirstOrDefault(); orders newOrder = new orders(); newOrder.customerId = loginUser.userId; newOrder.orderDate = DateTime.Now; if (paymentmethod == null) { message = "Bir ödeme tipi seçmeniz gerekir"; ViewBag.message = message; return(View()); } else { newOrder.paymentType = paymentmethod; } if (shipmethod == null) { message = "Bir gönderme tipi(Hızlı ya da Normal gönderim) seçmeniz gerekir"; ViewBag.message = message; return(View()); } else { // hızlı gönderim seçilmişse if (shipmethod == 1) { newOrder.shipPrice = 10; } else { newOrder.shipPrice = 5; } } // eğer kendine gönderiyorsa if (shipbox == null) { if (_user != null) { // faklı birine yada farklı bir adrese göndermiyorsa newOrder.isOther = false; if (string.IsNullOrEmpty(_user.firstName)) { message = "isim alanını doldurmanız gerekir"; ViewBag.message = message; return(View()); } else { newOrder.firstname = _user.firstName; } if (string.IsNullOrEmpty(_user.lastName)) { message = "Soyad alanını doldurmanız gerekir"; ViewBag.message = message; return(View()); } else { newOrder.lastname = _user.lastName; } if (string.IsNullOrEmpty(_user.address)) { message = "adres alanını doldurmanız gerekir"; ViewBag.message = message; return(View()); } else { newOrder.address = _user.address; } if (string.IsNullOrEmpty(_user.city)) { message = "Şehir alanını doldurmanız gerekir"; ViewBag.message = message; return(View()); } else { newOrder.city = _user.city; } if (string.IsNullOrEmpty(_user.phone)) { message = "telefon alanını doldurmanız gerekir"; ViewBag.message = message; return(View()); } else { newOrder.phone = _user.phone; } newOrder.postCode = _user.postCode; // sipariş kaydet repoOrder.Save(newOrder); } } // farklı birine yada farklı bir adrese gönderiyorsa else { Session["ad"] = ad; Session["soyad"] = soyad; Session["adres"] = adres; Session["sehir"] = sehir; Session["telefon"] = telefon; Session["postakodu"] = postakodu ?? 0; Session["isGuest"] = true; if (string.IsNullOrEmpty(ad)) { message = "isim alanı boş bıraktınız"; ViewBag.message = message; return(View()); } else { newOrder.firstname = ad; } if (string.IsNullOrEmpty(soyad)) { message = "Soyisim alanı boş bıraktınız"; ViewBag.message = message; return(View()); } else { newOrder.lastname = soyad; } if (string.IsNullOrEmpty(adres)) { message = "Adres alanı boş bıraktınız"; ViewBag.message = message; return(View()); } else { newOrder.address = adres; } if (string.IsNullOrEmpty(sehir)) { message = "Şehir alanı boş bıraktınız"; ViewBag.message = message; return(View()); } else { newOrder.city = sehir; } if (postakodu != null) { newOrder.postCode = postakodu; } if (!string.IsNullOrEmpty(eposta)) { newOrder.email = eposta; } if (string.IsNullOrEmpty(telefon)) { message = "Telefon alanı boş bıraktınız"; ViewBag.message = message; return(View()); } else { newOrder.phone = telefon; } // faklı birine yada farklı bir adrese gönderİyorsa newOrder.isOther = true; repoOrder.Save(newOrder); } // sepette ürünler varsa if (Session["card"] != null) { List <BasketItem> Basket = (List <BasketItem>)Session["card"]; orderDetails newOrderDetail = new orderDetails(); foreach (var item in Basket) { newOrderDetail.orderId = newOrder.orderId; newOrderDetail.productId = item.product.productId; newOrderDetail.quantity = item.quantity; repoOrderDetail.Save(newOrderDetail); } decimal total = (decimal)Basket.Sum(x => x.quantity * x.product.price); //indirim kullanımı talep edilmişse if (Session["discount"] != null) { coupons _discount = (coupons)Session["discount"]; //indirim kullanılıyor. total -= (decimal)_discount.discount; // indirim kullanıldığı için indirimi pasif et coupons usedCoupon = repoCoupon.GetAll().FirstOrDefault(x => x.couponCode == _discount.couponCode); // kullanıldı olarak işaretle usedCoupon.isUsed = true; // durumunu pasif et usedCoupon.isActive = false; // değişklilikleri güncelle repoCoupon.Update(usedCoupon); // sipariş tablosundaki indirim tutarını ekle newOrder.discountPrice = _discount.discount; } if (total >= 2500) { string couponCode = createCouponCode(); string subject = " Bookstore İndirim Kuponu"; string body = "Tebrikler! 2500 TL alışveriş yaptığınız için % 5 indirim kuponu kazandınız." + "Bir sonraki alışverişinizde indirim kuponunuzu kullanmak için son gün:" + DateTime.Now.AddDays(10); coupons newCoupon = new coupons() { userId = loginUser.userId, isActive = true, created = DateTime.Now, expired = DateTime.Now.AddDays(10), couponCode = couponCode, Title = "%5 Hediye kuponu", discount = Basket.Sum(x => x.quantity * x.product.price) * 0.05m, isUsed = false }; //kupon haketmişse kaydediliyor. repoCoupon.Save(newCoupon); // kupon haketmişse mail gönderiliyor. SendCouponMail(User.Identity.Name, couponCode, subject, body); } //sipariş tutarı güncelleniyor newOrder.orderPrice = total; repoOrder.Update(newOrder); SendOrderInfo(loginUser.email); message = " Sipariş işlemi tamamlandı. siparişiniz ile ilgili bilgi mailinize gönderilmiştir. <br/>" + "Goldstore sayfanızda sipariş detaylarını görebilirisiniz. Detay için aşağıdaki linke tıklayınız"; status = true; // satışı tamamla orderCompleted = true; if (orderCompleted) { // sepeti temizle; Session.Remove("card"); //indirim sil Session.Remove("discount"); // gönderme ücretini sil Session.Remove("shipPrice"); } } ViewBag.message = message; ViewBag.status = status; return(View()); }
public isaCommand ReceiveMessage(isaCommand cmd) { switch (cmd.command) { case eCommand.Ping: Logger.Debug($"ReceiveMessage - Received Ping / Replying Pong.."); WinSysSM.SendMessage(new Command() { command = eCommand.Pong }); break; case eCommand.Pong: Logger.Debug($"ReceiveMessage - Received Pong"); break; case eCommand.LoadFiles: Logger.Info($"ReceiveMessage - Copy Files from Winsys Server Paths top App Server Paths:{cmd.ToString()}"); //CopyFilesToServer(DateTime.Today); Logger.Info($"ReceiveMessage - Replying LoadFilesComplete..."); WinSysSM.SendMessage(new Command() { command = eCommand.LoadFilesComplete }); //cbsend(new Command() { command = eCommand.LoadFilesComplete }.ToArray()); break; case eCommand.GenerateManifest: Logger.Info($"ReceiveMessage - Generate Manifest from Winsys and SqlServer:{cmd.ToString()}"); manifestRequest req = (manifestRequest)cmd; WinSysSM.SendMessage(req); break; case eCommand.ManifestDetails: Logger.Info($"ReceiveMessage - Generate Manifest Details from Winsys - API Drill Down:{cmd.ToString()}"); manifestDetails manDet = (manifestDetails)cmd; ManifestDetailsData manDetData = new ManifestDetailsData(manDet); Logger.Info($"INSERTMANIFESTDETAILS (Persist): {manDetData.ToString()}"); if (!dManDetails.ContainsKey(manDetData.RequestId.ToString() + manDetData.ManId.ToString())) { dManDetails.Add(manDetData.RequestId.ToString() + manDetData.ManId.ToString(), new List <ManifestDetailsData>()); } foreach (var omdit in UMDServer.Persist(SPCmds.INSERTMANIFESTDETAILS, manDetData)) { dManDetails[manDetData.RequestId.ToString() + manDetData.ManId.ToString()].Add(manDetData); } Logger.Info($"ManifestDetails Complete: {manDet.ToString()}"); break; case eCommand.ManifestDetailsComplete: Logger.Info($"ReceiveMessage - ManifestDetailsComplete:{cmd.ToString()}"); req = (manifestRequest)cmd; List <ManifestDetailsData> mdd = null; if (dManDetails.ContainsKey(NewGuid(req.requestId).ToString() + req.id.ToString())) { mdd = dManDetails[NewGuid(req.requestId).ToString() + req.id.ToString()]; dManDetails.Remove(NewGuid(req.requestId).ToString() + req.id.ToString()); } if (!dManDetails.ContainsKey(NewGuid(req.requestId).ToString()) && mdd != null && mdd.Count > 0) { drillDown.GetOrderMasterData(new manifestRequest() { valist = req.valist, requestId = req.requestId, date = req.date, id = req.id }); } dRetCall[NewGuid(cmd.requestId)](req.ToArray()); //drillDown.reportMDProgressChanged(100, cmd); break; case eCommand.OrdersUpload: Logger.Info($"ReceiveMessage - Orders reqId: {cmd.requestId}"); List <IMDMMessage> lstOrd = new List <IMDMMessage>(); OrderMasterData omd = new OrderMasterData(((orderMaster)cmd)); orderMaster om = new orderMaster(omd); //omd.Status = OrderStatus.Shipped; lock (dOrdLock) { if (!dOrdersMaster.ContainsKey(omd.RequestId.ToString() + omd.ManId.ToString())) { dOrdersMaster.Add(omd.RequestId.ToString() + omd.ManId.ToString(), new List <OrderMasterData>()); } } if (!dOrdersMaster[omd.RequestId.ToString() + omd.ManId.ToString()].Contains(omd)) { foreach (var omdit in UMDServer.Persist(SPCmds.INSERTORDER, omd)) { lock (dOrdLock) dOrdersMaster[omd.RequestId.ToString() + omd.ManId.ToString()].Add((OrderMasterData)omdit); } } break; case eCommand.OrdersLoad: Logger.Info($"ReceiveMessage - OrdersLoad reqId: {cmd.requestId}"); orderMaster ord = (orderMaster)cmd; OrderMasterData omdata = new OrderMasterData(ord); lock (dOrdLock) { if (!dOrdersMaster.ContainsKey(NewGuid(ord.requestId).ToString() + ord.ManId.ToString())) { dOrdersMaster.Add(NewGuid(ord.requestId).ToString() + ord.ManId.ToString(), new List <OrderMasterData>()); } } if (!dOrdersMaster[omdata.RequestId.ToString() + omdata.ManId.ToString()].Contains(omdata)) { foreach (var omdit in UMDServer.Persist(SPCmds.INSERTORDER, omdata)) { lock (dOrdLock) dOrdersMaster[omdata.RequestId.ToString() + omdata.ManId.ToString()].Add((OrderMasterData)omdit); } } break; case eCommand.OrdersLoadComplete: Logger.Info($"ReceiveMessage - OrdersLoadComplete:{cmd.ToString()}"); req = (manifestRequest)cmd; if (dOrdersMaster.ContainsKey(NewGuid(cmd.requestId).ToString() + req.id)) { List <OrderMasterData> lMOrd = dOrdersMaster[NewGuid(cmd.requestId).ToString() + req.id.ToString()].Distinct().ToList(); lMOrd.ForEach(x => Logger.Info($"ordldcmp{x.ORD_NO}")); drillDown.GetDrillDownData(req.valist, eCommand.OrderDetails, req.requestId, 1); drillDown.GetDrillDownData(req.valist, eCommand.OrderOptions, req.requestId); lock (dOrdLock) dOrdersMaster.Remove(NewGuid(cmd.requestId).ToString() + req.id); } else { Logger.Info($"No Orders for {cmd.ToString()}"); } // throw new Exception("OrdersLoadComplete - response not mapped in dOrderMaster. " + // "Request Id: {NewGuid(cmd.requestId).ToString()} , id: {req.id}. "); dRetCall[NewGuid(cmd.requestId)](req.ToArray()); break; case eCommand.OrderDetails: Logger.Info($"ReceiveMessage - OrderDetails:{cmd.ToString()}"); try { orderDetails od = (orderDetails)cmd; OrderDetailsData odd = new OrderDetailsData(od); lock (dOrdLock) { if (!dOrdersDetails.ContainsKey(odd.RequestId)) { dOrdersDetails.Add(odd.RequestId, new List <OrderDetailsData>()); } } foreach (var odit in UMDServer.Persist(SPCmds.INSERTORDERDETAILS, odd)) { Logger.Info($"INSERTORDERDETAILS Complete: {odit.ToString()}"); } //dRetCall[NewGuid(od.requestId)](cmd.ToArray()); } catch (Exception ex) { Logger.Error($"eCommand.OrderDetails {ex.Message}"); } break; case eCommand.OrderDetailsComplete: Logger.Info($"ReceiveMessage - OrderDetailsComplete:{cmd.ToString()}"); // Can we detrmine the completed transaction at this point from the cmd in order to clean the completed tx for dRetCall req = (manifestRequest)cmd; lock (dOrdLock) { if (dOrdersDetails.ContainsKey(NewGuid(cmd.requestId))) { // drillDown.GetOrderOptionsData(dOrdersDetails[NewGuid(cmd.requestId)].Distinct().ToList()); //drillDown.GetOrderOptionsData(ordersToRequestDetails[NewGuid(cmd.requestId)]); dOrdersDetails.Remove(NewGuid(cmd.requestId)); } } //dRetCall[NewGuid(cmd.requestId)](req.ToArray()); break; case eCommand.OrderOptions: Logger.Info($"ReceiveMessage - OrderOptions reqId:{cmd.ToString()}"); try { orderOptions oo = (orderOptions)cmd; OrderOptionsData ood = new OrderOptionsData(oo); foreach (var oodit in UMDServer.Persist(SPCmds.INSERTORDEROPTIONS, ood)) { Logger.Info($"INSERTORDEROPTIONS Complete: {oodit.ToString()}"); } //oo.command = eCommand.OrderOptionsComplete; //dRetCall[NewGuid(oo.requestId)](cmd.ToArray()); } catch (Exception ex) { Logger.Error($"eCommand.OrderOptions {ex.Message}"); } break; case eCommand.OrderOptionsComplete: Logger.Info($"ReceiveMessage - OrderOptionsComplete:{cmd.ToString()}"); // Can we detrmine the completed transaction at this point from the cmd in order to clean the completed tx for dRetCall req = (manifestRequest)cmd; dRetCall[NewGuid(cmd.requestId)](req.ToArray()); break; case eCommand.OrderUpdatesComplete: Logger.Info($"ReceiveMessage - OrderUpdatesComplete:{cmd.ToString()}"); req = (manifestRequest)cmd; dRetCall[NewGuid(cmd.requestId)](req.ToArray()); break; case eCommand.ManifestLoadComplete: Logger.Info($"ReceiveMessage - OrdersLoadComplete:{cmd.ToString()}"); Logger.Info($"ReceiveMessage - OrderDetailsComplete:{cmd.ToString()}"); req = (manifestRequest)cmd; dRetCall[NewGuid(cmd.requestId)](req.ToArray()); break; case eCommand.ScanFile: Logger.Info($"ReceiveMessage Cached Success - ScanFile:{cmd.ToString()}"); scanFile sf = (scanFile)cmd; ScanFileData sfd = new ScanFileData(sf); foreach (var scnfle in UMDServer.Persist(SPCmds.INSERTSCANFILE, sfd)) { Logger.Info($"INSERTSCNFLE Complete: {scnfle.ToString()}"); } //if(cmd.requestId==null) // dRetCall.FirstOrDefault().Value(sf.ToArray()); //else // dRetCall[NewGuid(cmd.requestId)](sf.ToArray()); break; default: Logger.Error("ReceiveMessage - ERROR Unknown command. Parse Error MDM-API"); break; } return(cmd); }
public void HandleClientCmd(byte[] bytes_cmd, Func <byte[], Task> cbsend) { isaCommand cmd = new Command().FromArray(bytes_cmd); switch (cmd.command) { case eCommand.Ping: Logger.Debug("HandleClientCmd - Received Ping / Replying Pong.."); cbsend(new Command() { command = eCommand.Pong }.ToArray()); break; case eCommand.Pong: Logger.Debug("HandleClientCmd - Received Pong"); break; case eCommand.LoadFiles: Logger.Info("HandleClientCmd - Copy Files from Winsys Server Paths top App Server Paths:{cmd.ToString()}"); //CopyFilesToServer(DateTime.Today); Logger.Info("HandleClientCmd - Replying LoadFilesComplete..."); cbsend(new Command() { command = eCommand.LoadFilesComplete }.ToArray()); break; case eCommand.GenerateManifest: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); manifestMaster mM = (manifestMaster) new manifestMaster().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd Generate Manifest from Winsys and SqlServer:{mM.ToString()}"); if (mM.LINK != 0) { ManifestMasterData mmd = (ManifestMasterData)UMDServer.QueryData(cbsend, mM); Logger.Info($"API Manager GenerateManifest. {mmd.ToString()}"); } else { WinSysSM.SendMessage(cmd); } break; case eCommand.CheckManifest: Logger.Info($"HandleClientCmd - CheckManifest:{cmd.ToString()}"); //ManifestMasterData mMstData = (ManifestMasterData)new ManifestMasterData(bytes_cmd); manifestMaster mMst = (manifestMaster) new manifestMaster().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd Compare Manifest from Winsys to SqlServer: {mMst.ToString()}"); ManifestMasterData mamd = (ManifestMasterData)UMDServer.QueryData(cbsend, mMst); Logger.Info($"API Manager GenerateManifest. {mamd.ToString()}"); break; case eCommand.RunQuery: Logger.Info($"HandleClientCmd - ManifestDetails: {cmd.ToString()}"); //DriverData dd = (DriverData)GetDrivers(cbsend); break; case eCommand.Manifest: Logger.Info($"HandleClientCmd - Manifest from Winsys and SqlServer:{cmd.ToString()}"); cbsend(cmd.ToArray()); break; case eCommand.Trucks: Logger.Info($"HandleClientCmd - Trucks: {cmd.ToString()}"); isaCommand req = new manifestRequest().FromArray(bytes_cmd); TruckData td = (TruckData)UMDServer.QueryData(cbsend, req); Logger.Info($"HandleClientCmd - Trucks. reqId:{req.ToString()}"); break; case eCommand.ManifestDetails: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); isaCommand reqmd = new manifestRequest().FromArray(bytes_cmd); // ManifestDetailsData mdd = manifestDetails manDet = new manifestDetails(); ManifestDetailsData manDetData = (ManifestDetailsData)manDet.FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - ManifestDetails:{manDetData.ToString()}"); foreach (var mmd in UMDServer.Persist(SPCmds.INSERTMANIFESTDETAILS, manDetData)) { drillDown.GetOrderMasterData((ManifestDetailsData)mmd); mmd.Command = eCommand.ManifestDetails; mmd.RequestId = new Guid(manDet.requestId); Logger.Info($"HandleClientCmd - ManifestDetails. Sending GetOrderMasterData:{mmd.ToString()}"); cbsend(((manifestDetails)mmd).ToArray()); } break; case eCommand.Orders: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); var om = (orderMaster) new orderMaster().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - Orders. reqId: {om.ToString()}"); foreach (var omd in UMDServer.Persist(SPCmds.INSERTORDER, new OrderMasterData(om))) { drillDown.GetOrderDetailsData((OrderMasterData)omd); } break; case eCommand.OrderOptions: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); var oo = (orderOptions) new orderOptions().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - OrderOptions:{cmd.ToString()}"); foreach (var mmd in UMDServer.Persist(SPCmds.INSERTORDEROPTIONS, new OrderOptionsData(oo))) { var oopt = new orderOptions((OrderOptionsData)mmd); oopt.command = eCommand.OrderOptionsComplete; cbsend(oopt.ToArray()); } break; case eCommand.OrderDetails: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); var odt = (orderDetails) new orderDetails().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - OrderDetails: {odt.ToString()}"); foreach (var mmd in UMDServer.Persist(SPCmds.INSERTORDERDETAILS, new OrderDetailsData(odt))) { orderDetails odd = new orderDetails((OrderDetailsData)mmd); odd.command = eCommand.OrderDetailsComplete; cbsend(odd.ToArray()); } break; case eCommand.Drivers: Logger.Info($"HandleClientCmd - ManifestDetails:{cmd.ToString()}"); req = new manifestRequest().FromArray(bytes_cmd); DriverData dd = (DriverData)UMDServer.QueryData(cbsend, req); //drivers drvs = new drivers(dd); //drvs.command = eCommand.DriversLoadComplete; //cbsend(drvs.ToArray()); //cbsend(new Command() { command = eCommand.DriversLoadComplete, value = dd.DriverId.ToString() }.ToArray()); break; case eCommand.UploadManifest: Logger.Info($"HandleClientCmd - UploadManifest:{cmd.ToString()}"); manifestRequest mreq = (manifestRequest) new manifestRequest().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - UploadManifest: {mreq.ToString()}"); //ManifestMasterData Mmd = (ManifestMasterData)cmd; manifestMaster mm = (manifestMaster) new manifestMaster().FromArray(mreq.bData); IEnumerable <IMDMMessage> mmdata = UMDServer.Persist(SPCmds.INSERTMANIFEST, new ManifestMasterData(mm, mm.id)); Logger.Info($"HandleClientCmd - UploadManifest Persisted:{mm.ToString()}"); try { ManifestMasterData mmd = null; foreach (var mmdIt in mmdata) { mmd = (ManifestMasterData)mmdIt; Logger.Info($"HandleClientCmd - UploadManifest - Get ManifestDetails sending ManMastData Trk:{mmd.ToString()}"); drillDown.GetManifestDetails(mmd, cbsend); } if (mmd != null) { manifestMaster mmRet = new manifestMaster(mmd); mmRet.command = eCommand.ManifestLoadComplete; Logger.Info($"HandleClientCmd - UploadManifest - Done (ManifestLoadComplete):{mreq.ToString()}"); cbsend(mmRet.ToArray()); } } catch (Exception e) { Logger.Debug("HandleClientCmd - Error exception = " + e.Message); } break; case eCommand.Stops: Logger.Info($"HandleClientCmd - Stops. reqId:{cmd.ToString()}"); req = new manifestRequest().FromArray(bytes_cmd); StopData sd = (StopData)UMDServer.QueryData(cbsend, req); stops stps = new stops(sd); stps.command = eCommand.StopsLoadComplete; cbsend(stps.ToArray()); break; case eCommand.OrdersLoad: req = new manifestRequest().FromArray(bytes_cmd); Logger.Info($"HandleClientCmd - OrdersLoad (Start QueryData): {req.ToString()}"); OrderData od = (OrderData)UMDServer.QueryData(cbsend, req); orders odrs = new orders(od); odrs.command = eCommand.OrdersLoadComplete; Logger.Info($"HandleClientCmd - OrdersLoad (OrdersLoadComplete): {odrs.ToString()}"); cbsend(odrs.ToArray()); break; default: Logger.Error("HandleClientCmd - ERROR Unknown command. Parse Error MDM-API"); break; } }
/// <summary> /// GetdataFromMySQL /// </summary> /// <param name="ConString"></param> public static void GetdataFromMySQL(string ConString) { string apiResponse = string.Empty; string apiGenPickupRes = string.Empty; string apiGenMenifestRes = string.Empty; AWBResponce awbResponce = new AWBResponce(); PickupResponce pickupResponce = new PickupResponce(); ManifestResponce manifestResponce = new ManifestResponce(); MySqlConnection con = null; try { DataSet ds = new DataSet(); AWBRequest objdetails = new AWBRequest(); orderDetails orderDetails = new orderDetails(); IConfiguration config = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build(); string ClientAPIURL = config.GetSection("MySettings").GetSection("ClientAPIURL").Value; con = new MySqlConnection(ConString); MySqlCommand cmd = new MySqlCommand("SP_PHYGetOrderdetailForAWB", con) { CommandType = System.Data.CommandType.StoredProcedure }; cmd.Connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(cmd); da.Fill(ds); cmd.Connection.Close(); if (ds != null && ds.Tables[0] != null) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { try { if (ds != null && ds.Tables[1] != null) { objdetails = new AWBRequest() { pickup_postcode = ds.Tables[1].Rows[i]["pickup_postcode"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[1].Rows[i]["pickup_postcode"]), delivery_postcode = ds.Tables[1].Rows[i]["delivery_postcode"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[1].Rows[i]["delivery_postcode"]), weight = ds.Tables[1].Rows[i]["Weight"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[1].Rows[i]["Weight"]), orderDetails = new orderDetails() }; } orderDetails = new orderDetails { Id = ds.Tables[0].Rows[i]["ID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]), order_id = ds.Tables[0].Rows[i]["InvoiceNo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["InvoiceNo"]), order_date = ds.Tables[0].Rows[i]["Date"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["Date"]), billing_customer_name = ds.Tables[0].Rows[i]["CustomerName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["CustomerName"]), billing_address = ds.Tables[0].Rows[i]["ShippingAddress"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ShippingAddress"]), billing_city = ds.Tables[0].Rows[i]["City"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["City"]), billing_pincode = ds.Tables[0].Rows[i]["delivery_postcode"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["delivery_postcode"]), billing_state = ds.Tables[0].Rows[i]["State"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["State"]), billing_country = ds.Tables[0].Rows[i]["Country"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["Country"]), //billing_email = ds.Tables[0].Rows[i]["EmailID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["EmailID"]), billing_phone = ds.Tables[0].Rows[i]["MobileNumber"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["MobileNumber"]), shipping_customer_name = ds.Tables[0].Rows[i]["CustomerName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["CustomerName"]), shipping_address = ds.Tables[0].Rows[i]["ShippingAddress"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ShippingAddress"]), shipping_city = ds.Tables[0].Rows[i]["City"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["City"]), shipping_pincode = ds.Tables[0].Rows[i]["delivery_postcode"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["delivery_postcode"]), shipping_country = ds.Tables[0].Rows[i]["Country"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["Country"]), shipping_state = ds.Tables[0].Rows[i]["State"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["State"]), //shipping_email = ds.Tables[0].Rows[i]["EmailID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["EmailID"]), shipping_phone = ds.Tables[0].Rows[i]["MobileNumber"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["MobileNumber"]), shipping_is_billing = true, billing_email = "*****@*****.**", shipping_email = "*****@*****.**", payment_method = "Prepaid", pickup_location = "Test", channel_id = "633828", billing_last_name = "", billing_address_2 = "", billing_alternate_phone = "", shipping_last_name = "", shipping_address_2 = "", sub_total = ds.Tables[0].Rows[i]["Amount"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Amount"]), length = ds.Tables[0].Rows[i]["Length"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Length"]), breadth = ds.Tables[0].Rows[i]["Breath"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Breath"]), height = ds.Tables[0].Rows[i]["Height"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Height"]), weight = ds.Tables[0].Rows[i]["Weight"] == DBNull.Value ? 0 : Convert.ToDecimal(ds.Tables[0].Rows[i]["Weight"]), StoreDelivery = Convert.ToBoolean(ds.Tables[0].Rows[i]["StoreDelivery"]), TenantId = ds.Tables[0].Rows[i]["TenantId"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["TenantId"]), StoreId = ds.Tables[0].Rows[i]["StoreId"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["StoreId"]), ProgramCode = ds.Tables[0].Rows[i]["ProgramCode"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ProgramCode"]), order_items = new List <order_items>() }; List <order_items> listobj = new List <order_items>(); string ItemIDs = ""; for (int j = 0; j < ds.Tables[2].Rows.Count; j++) { if (Convert.ToInt32(ds.Tables[2].Rows[j]["OrderID"]) == Convert.ToInt32(orderDetails.Id)) { order_items objorder_Items = new order_items() { OrderItemID = ds.Tables[2].Rows[j]["ID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[2].Rows[j]["ID"]), name = ds.Tables[2].Rows[j]["ItemName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[2].Rows[j]["ItemName"]), sku = ds.Tables[2].Rows[j]["ItemID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[2].Rows[j]["ItemID"]), units = ds.Tables[2].Rows[j]["Quantity"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[2].Rows[j]["Quantity"]), selling_price = ds.Tables[2].Rows[j]["ItemPrice"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[2].Rows[j]["ItemPrice"]) }; listobj.Add(objorder_Items); ItemIDs += ds.Tables[2].Rows[j]["ID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[2].Rows[j]["ID"]) + ","; } } ItemIDs = ItemIDs.TrimEnd(','); /*Check the Pincode Deliver or not*/ HSChkCourierAvailibilty hSChkCourierAvailibilty = new HSChkCourierAvailibilty { Pickup_postcode = objdetails.pickup_postcode, Delivery_postcode = objdetails.delivery_postcode }; ResponseCourierAvailibilty responseCourierAvailibilty = new ResponseCourierAvailibilty(); responseCourierAvailibilty = CheckClientPinCodeForCourierAvailibilty(hSChkCourierAvailibilty, orderDetails.TenantId, orderDetails.Id, ClientAPIURL); /*Check the Pincode Deliver or not*/ if (responseCourierAvailibilty.Available == "false") { if (orderDetails.StoreDelivery == true) { AddStoreResponse(orderDetails.Id, ItemIDs, orderDetails.TenantId, true, ConString); } else { AddStoreResponse(orderDetails.Id, ItemIDs, orderDetails.TenantId, false, ConString); } } else if (responseCourierAvailibilty.Available == "true") { orderDetails.order_items = listobj; ItemIDs = ItemIDs.TrimEnd(','); objdetails.orderDetails = orderDetails; string apiReq = JsonConvert.SerializeObject(objdetails); apiResponse = CommonService.SendApiRequest(ClientAPIURL + "/api/ShoppingBag/GetCouriersPartnerAndAWBCode", apiReq); awbResponce = JsonConvert.DeserializeObject <AWBResponce>(apiResponse); if (awbResponce.data != null) { if (awbResponce.data.awb_code != "" && awbResponce.data.courier_name != "" && awbResponce.statusCode == "200") { InsertCourierResponse(orderDetails.Id, ItemIDs, awbResponce.data.awb_code, awbResponce.data.courier_company_id, awbResponce.data.courier_name, awbResponce.data.order_id, awbResponce.data.shipment_id, ConString); CommonService.SmsWhatsUpDataSend(orderDetails.TenantId, 0, orderDetails.ProgramCode, orderDetails.Id, ClientAPIURL, "AWBAssigned", ConString); if (awbResponce != null) { if (awbResponce.data != null) { if (awbResponce.data.shipment_id != null) { PickupManifestRequest pickupManifestRequest = new PickupManifestRequest() { shipmentId = new List <int> { Convert.ToInt32(awbResponce.data.shipment_id) } }; try { string apiGenPickupReq = JsonConvert.SerializeObject(pickupManifestRequest); apiGenPickupRes = CommonService.SendApiRequest(ClientAPIURL + "/api/ShoppingBag/GeneratePickup", apiGenPickupReq); pickupResponce = JsonConvert.DeserializeObject <PickupResponce>(apiGenPickupRes); //if (pickupResponce.response.pickupTokenNumber != "") //{ // UpdateGeneratePickupManifest(orderDetails.Id, orderDetails.TenantId, orderDetails.Id, "Pickup", ConString); //} if (pickupResponce.status_code == 0 && pickupResponce.pickupStatus == "1") { if (pickupResponce.response != null) { if (pickupResponce.response.pickupTokenNumber != null) { //UpdateGeneratePickupManifest(ID, "Pickup", ConString, TenantId); UpdateGeneratePickupManifest(orderDetails.Id, orderDetails.TenantId, orderDetails.Id, "Pickup", ConString); CommonService.SmsWhatsUpDataSend(orderDetails.TenantId, 0, orderDetails.ProgramCode, orderDetails.Id, ClientAPIURL, "PickupScheduled", ConString); } } } else { ExLogger(orderDetails.Id, orderDetails.order_id, Convert.ToString(DateTime.Now), Convert.ToString(orderDetails.StoreId), pickupResponce.status_code + " : " + pickupResponce.message, apiGenPickupRes, ConString); } } catch (Exception ex) { ExLogger(orderDetails.Id, orderDetails.order_id, orderDetails.order_date, Convert.ToString(orderDetails.StoreId), ex.Message, ex.StackTrace, ConString); } try { string apiGenMenifestReq = JsonConvert.SerializeObject(pickupManifestRequest); apiGenMenifestRes = CommonService.SendApiRequest(ClientAPIURL + "/api/ShoppingBag/GenerateManifest", apiGenMenifestReq); manifestResponce = JsonConvert.DeserializeObject <ManifestResponce>(apiGenMenifestRes); if (manifestResponce.status_code == 0) { if (manifestResponce.status == "1" && manifestResponce.manifestUrl != null && manifestResponce.manifestUrl != "") { UpdateGeneratePickupManifest(orderDetails.Id, orderDetails.TenantId, orderDetails.Id, "Manifest", ConString); CommonService.SmsWhatsUpDataSend(orderDetails.TenantId, 0, orderDetails.ProgramCode, orderDetails.Id, ClientAPIURL, "ManifestGenerated", ConString); } else { ExLogger(orderDetails.Id, orderDetails.order_id, Convert.ToString(DateTime.Now), Convert.ToString(orderDetails.StoreId), manifestResponce.status, apiGenMenifestRes, ConString); } } else { ExLogger(orderDetails.Id, orderDetails.order_id, Convert.ToString(DateTime.Now), Convert.ToString(orderDetails.StoreId), manifestResponce.status_code + " : " + manifestResponce.message, apiGenMenifestRes, ConString); } } catch (Exception ex) { ExLogger(orderDetails.Id, orderDetails.order_id, orderDetails.order_date, Convert.ToString(orderDetails.StoreId), ex.Message, ex.StackTrace, ConString); } } } } } else { AddStoreResponse(orderDetails.Id, ItemIDs, orderDetails.TenantId, false, ConString); } } else { AddStoreResponse(orderDetails.Id, ItemIDs, orderDetails.TenantId, false, ConString); } } } catch (Exception Ex) { ExLogger(orderDetails.Id, orderDetails.order_id, orderDetails.order_date, Convert.ToString(orderDetails.StoreId), Ex.Message, Ex.StackTrace, ConString); } } } } catch (Exception ex) { } finally { if (con != null) { con.Close(); } GC.Collect(); } }