//public static int SaveOrder(OrderList orders) //{ // //Now taking it from session. instead of perameter. // if (HttpContext.Current.Session["OrderList"] != null) // { // orders = (OrderList)HttpContext.Current.Session["OrderList"]; // } // using (DBKOMPDataContext db = new DBKOMPDataContext()) // { // int customerId = 0; // if (HttpContext.Current.Session["USER"] != null) // { // customerId = ((User)HttpContext.Current.Session["USER"]).UserId; // } // Request objRequest = new Request(); // objRequest.CreatedDate = DateTime.Now; // objRequest.UserId = customerId; // objRequest.CreatedBy = customerId; // //create a request id // db.Requests.InsertOnSubmit(objRequest); // db.SubmitChanges(); // foreach(var order in orders.orders) // { // order.Order.RequestId = objRequest.Id; // order.Order.CustomerId = customerId; // order.Order.OrderDate = DateTime.Now; // db.Orders.InsertOnSubmit(order.Order); // db.SubmitChanges(); // order.payment.OrderId = order.Order.Id; // db.Payments.InsertOnSubmit(order.payment); // foreach (var apt in order.OrderDetailList) // { // apt.OrderId = order.Order.Id; // } // db.OrderDetails.InsertAllOnSubmit(order.OrderDetailList); // } // db.SubmitChanges(); // //#region Send Mail // //if (HttpContext.Current.Session["USER"] != null) // //{ // // var objtblUser = (User)HttpContext.Current.Session["USER"]; // // string content = string.Empty; // // string filepath = "~/Email/Post.htm"; // // //New user // // StringBuilder sbContent = new StringBuilder(); // // StreamReader rdr = new StreamReader(HttpContext.Current.Server.MapPath(filepath)); // // string strLine = ""; // // while (strLine != null) // // { // // strLine = rdr.ReadLine(); // // if ((strLine != null) && (strLine != "")) // // { // // sbContent.Append("\n" + strLine); // // } // // } // // rdr.Close(); // // string site = ConfigurationManager.AppSettings["SiteName"].ToString(); // // content = sbContent.ToString(); // // //content = content.Replace("$REQ$", PostType); // // //content = content.Replace("$ID$", ID); // // content = content.Replace("$NAME$", objtblUser.FirstName + " " + objtblUser.LastName); // // content = content.Replace("$SITE$", site); // // if (!string.IsNullOrEmpty(objtblUser.email)) // // { // // MailHelper.SendMailMessage("", objtblUser.email, string.Empty, string.Empty, "Thanks for Posting", content); // // // AutoServices.SendeMailToUs("Copy:Thanks for Posting", content); // // } // //} // //#endregion // // HttpContext.Current.Session["OrderList"] = orders; // return objRequest.Id;// orderDTO.Order.Id; // } //} public static int SavePayemt(int requestId, int paymentStatus, int paymentMode, string cardNum, string trnNo, string NameOnCard) { using (DBKOMPDataContext db = new DBKOMPDataContext()) { var objtblUser = CommanAction.GetSession();//for yourguyonly var orders = (from w in db.Orders where w.RequestId == requestId select w).ToList(); var SipBilObj = new ShippingBilling(); string locationOfPinCode = string.Empty; if (orders.Count > 0) { locationOfPinCode = (from w in db.tblLocations where w.pincode.Value == orders[0].pincode select w).First().Location; } //Variable is using to add 25 rs only one time bool IsCashPickup25Added = false; foreach (var ord in orders) { if (string.IsNullOrEmpty(SipBilObj.Pincode)) { SipBilObj = DBAccess.GetShippingBillingByUserId(objtblUser.UserId, ord.pincode ?? 0);//for yourguyonly } if (requestId > 0) { var payment = (from w in db.Payments where w.OrderId == ord.Id select w).First(); //paymentObj.Amount = 200; payment.CardNumber = cardNum; payment.Mode = paymentMode; //NET BANKING-1, credit card-2, debit card - 3, cash card - 4, mobile payment-5 payment.NameOnCard = NameOnCard; payment.TransactionNo = trnNo; payment.IsActive = (paymentStatus == 1) ? 1 : 0; payment.PaymentDate = DateTime.Now; //Settign for offline casehpickup if (paymentMode == 14 && !IsCashPickup25Added) { var config = DBAccess.GetConfig(); //order.payment.TrnChrg = Convert.ToDecimal(Caspikup + CaspikupPer * (order.payment.Amount + order.payment.DeliveryChrg) / 100); payment.TrnChrg = Convert.ToDecimal(config.CashPickUpPercent * (payment.Amount + payment.DeliveryChrg) / 100) + config.CashPickUp ?? 0; payment.TrnChrg = Convert.ToDecimal(String.Format("{0:.00}", payment.TrnChrg)); //payment.TrnChrg = Convert.ToInt32(payment.TrnChrg + config.CashPickUp ?? 0); IsCashPickup25Added = true; } ord.PaymentDone = paymentStatus; //SUCCESS -1 , failure - 0 , invalid =3, abort = 4 --- paymentMode != 5 ? 1 : 0; //5 means offline ord.IsActive = (paymentStatus == 1)?1:0; if (paymentStatus == 1 && (paymentMode != 11 && paymentMode != 12 && paymentMode != 13 && paymentMode != 14)) //Not offline and not cash pickup { var orderDetails = (from w in db.OrderDetails where w.OrderId == ord.Id select w); //Yourguy productid var prodcId = "0"; //Your guy DateColletion List <string> lstDeliveryDate = new List <string>(); //Your guy time string Deliverytime = ord.IsLunch == 1 ? "2015-01-01T12:15:02Z" : "2015-01-01T20:15:02Z"; string time = ord.IsLunch == 1 ? "12:16:06Z" : "20:16:06Z"; string PickUptime = ord.IsLunch == 1 ? "2015-01-01T10:16:06Z" : "2015-01-01T18:16:06Z"; foreach (var od in orderDetails) { prodcId = "0"; // od.SubProductId.ToString(); lstDeliveryDate.Add(od.DeliverDate.Value.ToString("yyyy-MM-ddT") + time); od.IsActive = 1; //od.YourguyOrderId = YourGuy(od.Id.ToString(), ord.Id.ToString(), SipBilObj, od.DeliverDate.Value.ToString("yyyy-MM-ddT") + time); //"2015-07-22T12:16:06Z" } //Yourguy service TODO: UNDO ONCE READY BY YOUR GUY //ord.YourguyOrderId = CallYourGuy(prodcId, ord.Id.ToString(), SipBilObj, Deliverytime, PickUptime, lstDeliveryDate, locationOfPinCode); } db.SubmitChanges(); } //else //{ // //ord.PaymentDone = 3; //Payment Failed // //ord.IsActive = 1; // //db.SubmitChanges(); //} } return(1); } }
public static int SaveOrder(string method) { OrderList orders = new OrderList(); //Now taking it from session. instead of perameter. if (HttpContext.Current.Session["OrderList"] != null) { orders = (OrderList)HttpContext.Current.Session["OrderList"]; } else { //It create the orders from the cookies if (OrderManagement.GetOrderListSession().orders.Count == 0) { return(-1); } } //Below condition : already ordered using (DBKOMPDataContext db = new DBKOMPDataContext()) { int customerId = 0; //if (CommanAction.GetSession() != null) //{ customerId = CommanAction.GetSession().UserId; //} //Delete if already in cart if (orders.orders.Count > 0 && orders.orders[0].Order.RequestId > 0) { foreach (var order in orders.orders) { if (orders.orders.Count > 0 && orders.orders[0].Order.RequestId > 0) { db.OrderDetails.DeleteAllOnSubmit((from w in db.OrderDetails where w.OrderId == order.Order.Id select w)); db.Payments.DeleteAllOnSubmit((from w in db.Payments where w.OrderId == order.Order.Id select w)); } } db.Requests.DeleteAllOnSubmit((from w in db.Requests where w.Id == orders.orders[0].Order.RequestId select w)); db.Orders.DeleteAllOnSubmit((from w in db.Orders where w.RequestId == orders.orders[0].Order.RequestId select w)); db.SubmitChanges(); } decimal tranCharge = 0; decimal tranChargeConfig = (from w in db.Configs select w).First().TrnChrg ?? 0; var config = (from w in db.Configs select w).First(); decimal Caspikup = config.CashPickUp ?? 0; decimal CaspikupPer = config.CashPickUpPercent ?? 0; //////////////////REQUEST START Request objRequest = new Request(); objRequest.CreatedDate = DateTime.Now; objRequest.UserId = customerId; objRequest.CreatedBy = customerId; if (method == "14") //Cash pikup delivery charges by yourguy { objRequest.YourGuyChkPickUP = Convert.ToInt32(Caspikup); } //create a request id db.Requests.InsertOnSubmit(objRequest); db.SubmitChanges(); //////////////////REQUEST END TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE); foreach (var order in orders.orders) { Caspikup = 0;// resetting 0 becuasue unable to divide charges in n order so making o, actial charges are in Request table order.Order.RequestId = objRequest.Id; order.Order.CustomerId = customerId; order.Order.OrderDate = indianTime;// DateTime.Now; order.Order.OrderStartDate = order.OrderDetailList[0].DeliverDate; tranCharge = ((order.payment.Amount + order.payment.DeliveryChrg) * tranChargeConfig / 100) ?? 0; order.Order.TotalPayment = (method == "11" || method == "12" || method == "13")?0:(order.payment.Amount + tranCharge + order.payment.DeliveryChrg); if (method == "14")//Cas pikup { order.Order.TotalPayment = (method == "11" || method == "12" || method == "13") ? 0 : (order.payment.Amount + Caspikup + order.payment.DeliveryChrg); } db.Orders.InsertOnSubmit(order.Order); db.SubmitChanges(); if (method == "14") //Cash pikup delivery { order.payment.TrnChrg = Convert.ToDecimal(Caspikup + CaspikupPer * (order.payment.Amount + order.payment.DeliveryChrg) / 100); //Round off for cash pickup } else if (method == "11" || method == "12" || method == "13") { order.payment.TrnChrg = 0; //Add 0 if offline else calculate trans charge } else { order.payment.TrnChrg = tranCharge; //for online calculate trans charge } order.payment.OrderId = order.Order.Id; db.Payments.InsertOnSubmit(order.payment); foreach (var apt in order.OrderDetailList) { apt.OrderId = order.Order.Id; } db.OrderDetails.InsertAllOnSubmit(order.OrderDetailList); } db.SubmitChanges(); //#region Send Mail //if (HttpContext.Current.Session["USER"] != null) //{ // var objtblUser = (User)HttpContext.Current.Session["USER"]; // string content = string.Empty; // string filepath = "~/Email/Post.htm"; // //New user // StringBuilder sbContent = new StringBuilder(); // StreamReader rdr = new StreamReader(HttpContext.Current.Server.MapPath(filepath)); // string strLine = ""; // while (strLine != null) // { // strLine = rdr.ReadLine(); // if ((strLine != null) && (strLine != "")) // { // sbContent.Append("\n" + strLine); // } // } // rdr.Close(); // string site = ConfigurationManager.AppSettings["SiteName"].ToString(); // content = sbContent.ToString(); // //content = content.Replace("$REQ$", PostType); // //content = content.Replace("$ID$", ID); // content = content.Replace("$NAME$", objtblUser.FirstName + " " + objtblUser.LastName); // content = content.Replace("$SITE$", site); // if (!string.IsNullOrEmpty(objtblUser.email)) // { // MailHelper.SendMailMessage("", objtblUser.email, string.Empty, string.Empty, "Thanks for Posting", content); // // AutoServices.SendeMailToUs("Copy:Thanks for Posting", content); // } //} //#endregion // HttpContext.Current.Session["OrderList"] = orders; HttpContext.Current.Session["OrderList"] = orders; CreateCookieOrderList(); return(objRequest.Id);// orderDTO.Order.Id; } }