public JsonResult AddToCart(int usableProductId, int count) { Response response; try { int status = 200; string message = string.Empty; using (var db = new KiaGalleryContext()) { var userId = GetAuthenticatedUserId(); var branchId = db.User.Find(userId).BranchId; for (int i = 0; i < count; i++) { var item = new OrderUsableProduct() { BranchId = branchId.GetValueOrDefault(), Count = 1, CreateUserId = userId, ModifyUserId = userId, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress }; db.OrderUsableProduct.Add(item); } db.SaveChanges(); message = "محصول با موفیقت به سبد خرید اضافه شد."; } response = new Response() { status = status, message = message }; } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult MakeOrder(MakeOrderUsableProductViewModel model) { Response response; try { List <UsableProductCart> result; List <string> specification = new List <string>(); using (var db = new KiaGalleryContext()) { var user = GetAuthenticatedUser(); Branch branch = db.Branch.Single(x => x.Id == user.BranchId); var query = db.UsableProductCart.Select(x => x); result = query.ToList(); if (result.Count > 0) { var order = new OrderUsableProduct() { BranchId = GetAuthenticatedUser().BranchId.GetValueOrDefault(), PrintingHouserOrder = false, OrderUsableProductStatus = OrderUsableProductStatus.Registered, CreateUserId = GetAuthenticatedUserId(), ModifyUserId = GetAuthenticatedUserId(), CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress }; if (user.BranchType == BranchType.Solicitorship) { order.PrintingHouserOrder = true; } order.OrderUsableProductDetailList = result.Select(x => new OrderUsableProductDetail() { UsableProductId = x.UsableProductId, OrderUsableProduct = order, Count = x.Count, Description = x.Description, Specification = x.Specification, CreateUserId = user.Id, ModifyUserId = user.Id, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }).ToList(); db.OrderUsableProduct.Add(order); //for (var i = 0; i < model.id.Count(); i++) //{ // order.OrderUsableProductDetailList[i].Specification = model.specification[i]; //} db.UsableProductCart.RemoveRange(result); db.SaveChanges(); var persianDate = DateUtility.GetPersianDate(order.CreateDate); var mobileNumber = order.Branch.PersonList.Where(x => x.Supervisor == true).Select(x => x.MobileNumber).FirstOrDefault(); var alias = order.Branch.Alias; if (!User.IsInRole("admin")) { Task.Factory.StartNew(() => { NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد : " + order.OrderUsableProductDetailList.Sum(x => x.Count) + "عدد محصول به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + order.Id + "\n" + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", mobileNumber); //NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد :" + order.OrderUsableProductDetailList.Sum(x => x.Count) + "" + " به شماره سفارش SPLY- " + alias + "محصول به" + order.Id + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", mobileNumber); }); } else { Task.Factory.StartNew(() => { NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + " تعداد : " + order.OrderUsableProductDetailList.Sum(x => x.Count) + "عدد محصول به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + order.Id + "\n" + " درتاریخ " + persianDate + "جهت تامین به دفتر مرکزی ارسال شد.", "09193121247"); //NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش KIA-" + order.Id + " درتاریخ " + persianDate + " به تعداد :" + order.OrderUsableProductDetailList.Sum(x => x.Count) + " ثبت شد ", "09193121247"); }); } response = new Response() { status = 200, data = new { id = order.Id } }; } else { response = new Response() { status = 500, message = "محصولی جهت ساخت سفارش یافت نشد." }; } } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult SendToPrintingHouse(PrintingHouseOrderViewModel model) { Response response; try { var userId = GetAuthenticatedUserId(); OrderUsableProduct order = new OrderUsableProduct(); using (var db = new KiaGalleryContext()) { var orderUsableProductDetail = db.OrderUsableProductDetail.Where(x => model.idList.Contains(x.Id)).ToList(); if (orderUsableProductDetail.Select(x => x.OrderUsableProduct.PrintingHouserOrder).FirstOrDefault() == true) { response = new Response() { status = 500, message = "کاربر محترم؛این سفارش یک بار به چاپخانه مورد نظر ارسال شده است." }; return(Json(response, JsonRequestBehavior.AllowGet)); } for (var i = 0; i < orderUsableProductDetail.Count; i++) { orderUsableProductDetail[i].Id = model.idList[i]; orderUsableProductDetail[i].OfficeInventory = model.officeInventory[i]; orderUsableProductDetail[i].Remain = model.remain[i]; if (orderUsableProductDetail[i].OfficeInventory != null && orderUsableProductDetail[i].OfficeInventory >= 0) { if (orderUsableProductDetail[i].OfficeInventory > orderUsableProductDetail[i].Count) { response = new Response() { status = 500, message = "کاربر محترم؛تعداد یکی از موجودی دفتر مرکزی بزرگتر از تعداد سفارش می باشد." }; return(Json(response, JsonRequestBehavior.AllowGet)); } else { if (orderUsableProductDetail[i].Remain != 0) { var query = orderUsableProductDetail.Where(x => x.OrderUsableProductId == model.orderId).ToList(); if (query != null && query.Count > 0) { foreach (var item in orderUsableProductDetail) { item.OrderUsableProduct.PrintingHouserOrder = true; item.OrderUsableProduct.OrderUsableProductStatus = OrderUsableProductStatus.Registered; item.CreateUserId = userId; item.ModifyUserId = userId; item.CreateDate = DateTime.Now; item.ModifyDate = DateTime.Now; item.Ip = Request.UserHostAddress; } } } if (orderUsableProductDetail.Count(x => x.Remain > 0) == 0) { var query = orderUsableProductDetail.Where(x => x.OrderUsableProductId == model.orderId).ToList(); if (query != null && query.Count > 0) { foreach (var item in orderUsableProductDetail) { item.OrderUsableProduct.PrintingHouserOrder = false; item.CreateUserId = userId; item.ModifyUserId = userId; item.CreateDate = DateTime.Now; item.ModifyDate = DateTime.Now; item.Ip = Request.UserHostAddress; } } } } } else { response = new Response() { status = 500, message = "کاربر محترم؛تعداد یکی از موجودی دفتر مرکزی ثبت نشده است." }; return(Json(response, JsonRequestBehavior.AllowGet)); } } var date = orderUsableProductDetail.Select(x => x.CreateDate).FirstOrDefault(); var orderCreateUserId = orderUsableProductDetail.Select(x => x.CreateUserId).FirstOrDefault(); var orderBranchID = db.OrderUsableProduct.Where(x => x.Id == model.orderId).Select(x => x.BranchId).FirstOrDefault(); var persianDate = DateUtility.GetPersianDate(date); var orderId = orderUsableProductDetail.Select(x => x.OrderUsableProductId).FirstOrDefault(); //var mobileNumber = db.User.Where(x => x.Id == orderCreateUserId).FirstOrDefault().PhoneNumber; var mobileNumber = db.User.Where(x => x.BranchId == orderBranchID).FirstOrDefault().PhoneNumber; var branchId = orderUsableProductDetail.Select(x => x.OrderUsableProduct.Branch).FirstOrDefault(); var mobileAdmin = db.User.Where(x => x.Id == 2).FirstOrDefault().PhoneNumber; var alias = branchId.Alias; //if (mobileNumber != null) //{ // if (!User.IsInRole("admin")) // { // Task.Factory.StartNew(() => // { // NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + orderId + "\n" + " درتاریخ " + persianDate + "تایید و در حال بررسی می باشد.", mobileNumber); // }); // } // else // { // Task.Factory.StartNew(() => // { // NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + orderId + "\n" + " درتاریخ " + persianDate + "تایید و در حال بررسی می باشد.", mobileAdmin); // }); // } //} db.SaveChanges(); } response = new Response() { status = 200, message = "سفارش برای چاپخانه ارسال گردید." }; } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult ConfirmOrder(ConfirmOrderViewModel model) { Response response; try { var userId = GetAuthenticatedUserId(); OrderUsableProduct order = new OrderUsableProduct(); using (var db = new KiaGalleryContext()) { var orderUsableProductDetail = db.OrderUsableProductDetail.Where(x => model.idList.Contains(x.Id)).ToList(); for (var i = 0; i < orderUsableProductDetail.Count; i++) { orderUsableProductDetail[i].Id = model.idList[i]; orderUsableProductDetail[i].PrintingHouseInventory = model.printingHouseInventory[i]; orderUsableProductDetail[i].ReadyForDelivery = model.confirmDelivered[i]; orderUsableProductDetail[i].ConfirmDelivered = model.confirmDelivered[i]; orderUsableProductDetail[i].RemainFinal = model.remainFinal[i]; var query = orderUsableProductDetail.Where(x => x.OrderUsableProductId == model.orderId).ToList(); if (orderUsableProductDetail[i].ReadyForDelivery != null) { orderUsableProductDetail[i].ReadyForDelivery = model.confirmDelivered[i]; } if (model.confirmDelivered[i] > model.readyForDelivery[i]) { response = new Response() { status = 500, message = "کاربر محترم؛تعداد آماده تحویل بیشتر از تعداد قابل ساخت در چاپخانه می باشد." }; return(Json(response, JsonRequestBehavior.AllowGet)); } } var sum = orderUsableProductDetail.Sum(x => x.RemainFinal); if (sum == 0) { foreach (var item in orderUsableProductDetail) { item.OrderUsableProduct.PrintingHouserOrder = true; item.OrderUsableProduct.OrderUsableProductStatus = OrderUsableProductStatus.Sent; item.OrderUsableProduct.PrintingHouseOrderStatus = PrintingHouseOrderStatus.Closed; item.CreateUserId = userId; item.ModifyUserId = userId; item.CreateDate = DateTime.Now; item.ModifyDate = DateTime.Now; item.Ip = Request.UserHostAddress; } } else { foreach (var item in orderUsableProductDetail) { item.OrderUsableProduct.PrintingHouserOrder = true; item.OrderUsableProduct.OrderUsableProductStatus = OrderUsableProductStatus.InPreparation; item.OrderUsableProduct.PrintingHouseOrderStatus = PrintingHouseOrderStatus.HalfOpen; item.CreateUserId = userId; item.ModifyUserId = userId; item.CreateDate = DateTime.Now; item.ModifyDate = DateTime.Now; item.Ip = Request.UserHostAddress; } } var date = orderUsableProductDetail.Select(x => x.CreateDate).FirstOrDefault(); var orderCreateUserId = orderUsableProductDetail.Select(x => x.CreateUserId).FirstOrDefault(); var persianDate = DateUtility.GetPersianDate(date); var orderId = orderUsableProductDetail.Select(x => x.OrderUsableProductId).FirstOrDefault(); var mobileNumber = db.User.Where(x => x.Id == orderCreateUserId).FirstOrDefault().PhoneNumber; var branchId = orderUsableProductDetail.Select(x => x.OrderUsableProduct.Branch).FirstOrDefault(); var alias = branchId.Alias; //if (!User.IsInRole("admin")) //{ // Task.Factory.StartNew(() => // { // NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + orderId + "\n" + " درتاریخ " + persianDate + "تایید و در حال بررسی می باشد.", mobileNumber); // }); //} //else //{ // Task.Factory.StartNew(() => // { // NikSmsWebServiceClient.SendSmsNik("همکار گرامی؛" + "\n" + "سفارش شما به شماره سفارش" + "\n" + "SPLY-" + alias + "-" + orderId + "\n" + " درتاریخ " + persianDate + "تایید و در حال بررسی می باشد.", "09193121247"); // }); //} db.SaveChanges(); } response = new Response() { status = 200, message = "سفارش برای چاپخانه ارسال گردید." }; } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }