public ActionResult Add(string key, string codeLogin)
        {
            var model = new StorageWarehousing();

            try
            {
                if (key != Keyapi)
                {
                    return(Json(0, JsonRequestBehavior.AllowGet));
                }
                UpdateModel(model);
                var date = Request["DateCreated_"];

                model.DateRecive     = ConvertUtil.ToDateTime(date).TotalSeconds();
                model.DN_RequestWare = GetListImportItem(codeLogin, DateTime.Now, model.DateRecive, Agencyid());
                //model.DateImport = date.TotalSeconds();
                model.Status      = (int)StatusWarehouse.Pending;
                model.DateCreated = DateTime.Now.TotalSeconds();
                model.Code        = DateTime.Now.ToString("yyMMddHHmm");
                model.AgencyId    = Agencyid();
                model.IsDelete    = false;
                _da.Add(model);
                _da.Save();
                return(Json(model.ID, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 2
0
 public ActionResult Add(string key, int agencyid, string j)
 {
     try
     {
         var date    = ConvertDate.TotalSeconds(DateTime.Now.AddHours(12));
         var today   = DateTime.Today.AddDays(1);
         var todayse = ConvertDate.TotalSeconds(today);
         if (key != Keyapi)
         {
             return(Json(0, JsonRequestBehavior.AllowGet));
         }
         var obj       = new JavaScriptSerializer().Deserialize <SWItem>(j);
         var listc     = _da.ListByListID(obj.LstItem.Select(m => m.c).ToList());
         var objagency = _da.GetbyID(agencyid);
         if (objagency != null)
         {
             var list = obj.LstItem.Where(m => listc.Any(c => c.ID == m.c) && todayse + m.h * 3600 >= date).Select(item => new DN_RequestWare
             {
                 GID            = Guid.NewGuid(),
                 Quantity       = item.q,
                 CateID         = item.c,
                 IsDelete       = false,
                 Date           = ConvertDate.TotalSeconds(DateTime.Now),
                 Hour           = item.h,
                 DateEnd        = todayse + item.h * 3600,
                 Day            = 0,
                 Price          = listc.Where(c => c.ID == item.c).Select(m => m.Price).FirstOrDefault(),
                 TotalPrice     = listc.Where(c => c.ID == item.c).Select(m => m.Price).FirstOrDefault() * item.q,
                 QuantityActive = item.q,
                 Today          = todayse,
                 AgencyID       = agencyid,
                 MarketID       = objagency.MarketID,
                 AreaID         = objagency.AreaID,
                 QuantityUsed   = 0,
                 Type           = item.t
             }).ToList();
             var total = list.Sum(m => m.TotalPrice);
             if (total * 3 / 10 <= objagency.TotalDeposit)
             {
                 var model = new StorageWarehousing
                 {
                     DN_RequestWare = list,
                     Status         = (int)StatusWarehouse.Pending,
                     Name           = "ĐH: " + today.ToString("dd/MM/yyyy"),
                     DateCreated    = ConvertDate.TotalSeconds(DateTime.Now),
                     Code           = today.ToString("yyMMdd"),
                     DateRecive     = todayse,
                     AgencyId       = agencyid,
                     IsDelete       = false,
                     TotalPrice     = total
                 };
                 if (obj.id > 0)
                 {
                     model = _da.GetObjByID(agencyid, obj.id);
                     if (model != null)
                     {
                         model.DN_RequestWare.Clear();
                         model.DN_RequestWare = list;
                     }
                     else
                     {
                         return(Json(0, JsonRequestBehavior.AllowGet));
                     }
                 }
                 else
                 {
                     _da.Add(model);
                 }
                 _da.Save();
                 return(Json(1, JsonRequestBehavior.AllowGet));
             }
         }
         return(Json(0, JsonRequestBehavior.AllowGet));
     }
     catch (Exception)
     {
         return(Json(0, JsonRequestBehavior.AllowGet));
     }
 }
Ejemplo n.º 3
0
        public ActionResult DoOrder(decimal quantityExpect)
        {
            var todayCode   = DateTime.Today.AddDays(1).TotalSeconds();
            var orderdetail = OrderDetailItems(todayCode, 3);

            var result = GetProducts2(todayCode);

            var model = new StorageWarehousing
            {
                Status = (int)StatusWarehouse.New,

                DateCreated    = DateTime.Now.TotalSeconds(),
                IsDelete       = false,
                DateRecive     = todayCode,
                DN_RequestWare = new List <DN_RequestWare>(),
                AgencyId       = AgencyId
            };
            var category = _categoryDa.GetItemById(3);

            var requestWare = new DN_RequestWare()
            {
                GID            = Guid.NewGuid(),
                CateID         = 3,
                Quantity       = quantityExpect,
                QuantityActive = quantityExpect,
                Price          = category.Price,
                CostPrice      = category.CostPrice,
                //TotalPrice = item.TotalPrice,
                Today    = todayCode,
                IsDelete = false
            };

            //if (result.Products != null)
            foreach (var detail in orderdetail)
            {
                requestWare.DN_RequestWareDetail.Add(new DN_RequestWareDetail()
                {
                    RequestWareId = Guid.NewGuid(),
                    ProductId     = detail.ProductID ?? 0,
                    Quantity      = 1,
                    Weight        = detail.Weight
                });
            }
            model.DN_RequestWare.Add(requestWare);

            //product chua ban
            var productWeight = orderdetail.GroupBy(m => m.ProductID).Select(m => new OrderDetailProductItem()
            {
                ProductId = m.Key ?? 0,
                Weight    = m.Sum(n => n.Weight ?? 0)
            });


            var productRecipe = GetProductRecipe(todayCode, 3);

            foreach (var orderDetailProductItem in productRecipe)
            {
                var orderproduct = productWeight.FirstOrDefault(m => m.ProductId == orderDetailProductItem.ProductId);
                if (orderproduct == null || orderproduct.Weight <= orderDetailProductItem.WeightRecipe * quantityExpect)
                {
                    requestWare.DN_RequestWareDetail.Add(new DN_RequestWareDetail()
                    {
                        RequestWareId = Guid.NewGuid(),
                        ProductId     = orderDetailProductItem.ProductId,
                        Quantity      = 1,
                        Weight        = orderproduct == null ? orderDetailProductItem.WeightRecipe : orderDetailProductItem.WeightRecipe * quantityExpect - orderproduct.Weight
                    });
                }
            }
            //  return Json(new { orderdetail, productRecipe });
            _da.Add(model);
            _da.Save();
            return(Json(model.ID));
        }
Ejemplo n.º 4
0
 public void Add(StorageWarehousing item)
 {
     FDIDB.StorageWarehousings.Add(item);
 }
        public ActionResult Create(StorageWarehousingRequest request)
        {
            //get customerid
            //var customer = _customerDa.GetByQrCode(request.CustomerCode);
            //if (customer == null)
            //{
            //    return Json(new JsonMessage() { Erros = true, Message = "Customer is not exits" }, JsonRequestBehavior.AllowGet);
            //}

            //if (_da.CheckExistOrder(request.Code, customer.ID))
            //{
            //    return Json(new JsonMessage() { Erros = true, Message = "Mã đơn hàng đã tồn tại" }, JsonRequestBehavior.AllowGet);
            //}

            var model = new StorageWarehousing
            {
                Code   = request.Code,
                Status = (int)StatusWarehouse.New,
                // CustomerId = customer.ID,
                DateCreated    = DateTime.Now.TotalSeconds(),
                IsDelete       = false,
                DateRecive     = request.ReceiveDate,
                DN_RequestWare = new List <DN_RequestWare>(),
                UrlConfirm     = request.UrlConfirm,
                AgencyId       = AgencyId
            };

            foreach (var item in request.RequestWares)
            {
                //get priceunit and costprice
                var category = _categoryDa.GetItemById(item.CateId);
                if (category == null || category.CostPrice == null)
                {
                    return(Json(new JsonMessage(true, "Sản phẩm chưa có giá nhập")));
                }

                //get policyagency

                var policyDa      = new PolicyAgencyDA();
                var requestWareDA = new RequestWareDA();

                // lay so luong da giao
                var quantityFinish =
                    requestWareDA.GetQuantityFinish(AgencyId, item.CateId, request.ReceiveDate.DecimalToDate().Month);

                //so luong tinh hoa hong
                var quantityCaculate = quantityFinish + item.Quantity;

                decimal sale = 0;
                // tim chinh sach dai ly
                var policies     = policyDa.GetAll(item.CateId).OrderBy(m => m.Quantity).ToList();
                var policyActive = policies.Where(m => quantityCaculate <= m.Quantity)
                                   .OrderBy(m => m.Quantity).FirstOrDefault();

                if (policyActive != null)
                {
                    sale = item.Quantity * policyActive.Profit;
                }
                else if (policies.Count > 0)
                {
                    sale = item.Quantity * policies[policies.Count - 1].Profit;
                }

                var requestWare = new DN_RequestWare()
                {
                    GID            = Guid.NewGuid(),
                    CateID         = item.CateId,
                    Quantity       = item.Quantity,
                    QuantityActive = item.Quantity,
                    Price          = category.Price,
                    CostPrice      = category.CostPrice,
                    Sale           = sale,
                    //TotalPrice = item.TotalPrice,
                    Today    = request.ReceiveDate.DecimalToDate().Date.TotalSeconds(),
                    IsDelete = false
                };

                if (item.Details != null)
                {
                    foreach (var detail in item.Details)
                    {
                        requestWare.DN_RequestWareDetail.Add(new DN_RequestWareDetail()
                        {
                            RequestWareId = Guid.NewGuid(),
                            ProductId     = detail.ProductId,
                            Quantity      = detail.Quantity,
                        });
                    }
                }
                model.DN_RequestWare.Add(requestWare);
            }
            _da.Add(model);
            _da.Save();

            //add log
            _storageWareHouseLogDa.AddLog(new StorageWarehousingLog()
            {
                StorageWarehousingId = model.ID,
                // NewValue = JsonConvert.SerializeObject(model, new BinaryConverter())
            });

            return(Json(model.ID, JsonRequestBehavior.AllowGet));
        }