Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }