Beispiel #1
0
        public async Task <ActionResult> AddSupplier(RequestWareSupplierRequest request)
        {
            var requestWare = _da.GetRequestWareById(request.RequestWareId);

            if (requestWare == null)
            {
                return(Json(new JsonMessage()
                {
                    Erros = true, Message = "Request not exits"
                }, JsonRequestBehavior.AllowGet));
            }

            //remove nha cung cap
            if (request.SupplierId == 0)
            {
                var requestSuppliers = _da.GetAllRequestWareByRequestWareId(requestWare.GID);
                foreach (var dnRequestWareSupplier in requestSuppliers)
                {
                    dnRequestWareSupplier.IsDelete = true;
                }

                _da.Save();
                return(Json(new JsonMessage(false, "Đã bỏ chọn NCC")));
            }

            var requestWareSupplier = _da.GetRequestWareBySupplier(request.RequestWareId, request.SupplierId);

            if (requestWareSupplier != null)
            {
                return(Json(new JsonMessage()
                {
                    Erros = true, Message = requestWareSupplier.DN_Supplier.Name + " đã được chọn"
                }, JsonRequestBehavior.AllowGet));
            }

            var item = new DN_RequestWareSupplier()
            {
                RequestWareId = request.RequestWareId,
                SupplierId    = request.SupplierId,
                Quantity      = requestWare.Quantity ?? 0,
                IsDelete      = false
            };

            _da.AddRequestWareSupplier(item);


            _da.Save();
            return(Json(new JsonMessage(false, "Đã thêm NCC"), JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
 public void AddSupplier(RequestWareSupplierRequest request)
 {
     FDIDB.TotalProductToDays.Add(new TotalProductToDay()
     {
         ProductId   = request.ProductId,
         SupplierId  = request.SupplierId,
         IsDelete    = false,
         DateCreated = DateTime.Now.TotalSeconds(),
         Status      = 0,
         Quantity    = request.Quantity,
         ToDayCode   = request.ToDayCode,
         Price       = request.Price,
         UserId      = request.UserId
     });
 }
Beispiel #3
0
        public ActionResult SaveSupplier(RequestWareSupplierRequest request)
        {
            var msg        = new JsonMessage(false, "Cập nhật dữ liệu thành công.");
            var item       = _da.GetbyId(request.ToDayCode, request.ProductId, request.SupplierId);
            var lst        = _daSupplierAmountProduct.GetItem(request.ToDayCode, request.SupplierId, request.ProductId);
            var valueReady = lst.Sum(m => m.AmountEstimate - m.AmountPayed);

            if (item == null)
            {
                if (valueReady < request.Quantity)
                {
                    return(Json(new JsonMessage()
                    {
                        Erros = true,
                        Message = "Số lượng nhà cung câp không đủ"
                    }));
                }

                _da.AddSupplier(request);

                var amountUpdate = request.Quantity;
                // tinh lai so da ban o nha cung cap
                foreach (var supplierAmountProduct in lst)
                {
                    if (supplierAmountProduct.AmountEstimate - supplierAmountProduct.AmountPayed >= amountUpdate)
                    {
                        supplierAmountProduct.AmountPayed += amountUpdate;
                        amountUpdate = 0;
                        break;
                    }
                    else if (supplierAmountProduct.AmountEstimate > supplierAmountProduct.AmountPayed)
                    {
                        amountUpdate -= supplierAmountProduct.AmountEstimate - supplierAmountProduct.AmountPayed;
                        supplierAmountProduct.AmountPayed = supplierAmountProduct.AmountEstimate;
                    }
                }

                if (amountUpdate != 0)
                {
                    throw new Exception("Quantity is error");
                }
            }
            else
            {
                var amountDiff = request.Quantity - item.Quantity;

                foreach (var supplierAmountProduct in lst)
                {
                    if (supplierAmountProduct.AmountPayed + amountDiff < 0)
                    {
                        supplierAmountProduct.AmountPayed = 0;
                        amountDiff += supplierAmountProduct.AmountPayed;
                    }
                    else if (supplierAmountProduct.AmountPayed + amountDiff > supplierAmountProduct.AmountEstimate)
                    {
                        amountDiff += supplierAmountProduct.AmountEstimate - supplierAmountProduct.AmountPayed;
                        supplierAmountProduct.AmountPayed = supplierAmountProduct.AmountEstimate;
                    }
                    else
                    {
                        supplierAmountProduct.AmountPayed = request.Quantity;
                        break;
                    }
                }

                item.Quantity = request.Quantity;
                item.Price    = request.Price;
            }
            _da.Save();
            _daSupplierAmountProduct.Save();
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        public async Task <BaseResponse <bool> > SaveSupplier(RequestWareSupplierRequest request)
        {
            var urlJson = $"{Domain}TotalProductToDay/";

            return(await PostDataAsync <BaseResponse <bool> >(urlJson, request));
        }
        public async Task <ActionResult> SaveSupplier(RequestWareSupplierRequest request)
        {
            var result = await _api.SaveSupplier(request);

            return(Json(result));
        }