public IHttpActionResult AddLine(ExpectedReceiptLineBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            long retId;

            try
            {
                if (model.Quantity < 1)
                {
                    return(Content(HttpStatusCode.Forbidden, "Quantity is must be greater than 0"));
                }
                retId = _expectedReceiptService.AddLine(model);
                if (!string.IsNullOrEmpty(model.Image))
                {
                    new Common().ConvertSaveImage(new
                    {
                        ImageString = model.Image,
                        FileName    = String.Concat(model.GoodsReceivedNumber, "_",
                                                    model.ItemCode, ".jpg")
                    });
                }

                Log.Info($"{typeof(ExpectedReceiptController).FullName}||{UserEnvironment}||Add record successful.");
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.BadRequest, ex.Message));
            }
            var    expectedReceiptLine = _expectedReceiptLineService.GetById(retId);
            var    response            = this.Request.CreateResponse(HttpStatusCode.Created);
            string test = JsonConvert.SerializeObject(new
            {
                id       = retId,
                itemCode = expectedReceiptLine.ItemCode ?? "",
                message  = "Expected Receipt added"
            });

            response.Content = new StringContent(test, Encoding.UTF8, "appliation/json");
            return(ResponseMessage(response));
        }
示例#2
0
        public bool UpdateLine(ExpectedReceiptLineBindingModel bindingModel)
        {
            Product product = _productRepository.GetByProductCode(bindingModel.ProductCode);
            Uom     uom     = _uomRepository.GetByDescription(bindingModel.UomDescription);
            Item    item    = _itemService.GetByItemCode(bindingModel.ItemCode, bindingModel.CustomerId);


            ExpectedReceiptLine expectedReceiptLine = new ExpectedReceiptLine
            {
                Id = (int)bindingModel.Id,
                ExpectedReceiptId = (int)bindingModel.ExpectedReceiptId,
                Line            = bindingModel.Line,
                Batch           = bindingModel.Batch,
                ProductId       = product?.Id,
                Quantity        = bindingModel.Quantity,
                BrandId         = bindingModel.BrandId,
                ItemCode        = bindingModel.ItemCode,
                ItemId          = item?.Id,
                ItemDescription = bindingModel.ItemDescription,
                ExpiryDate      = bindingModel.ExpiryDate,
                UomId           = uom?.Id,
                CustomerId      = bindingModel.CustomerId,
                IsItemExist     = bindingModel.IsItemExist,
                IsActive        = bindingModel.IsActive,
                IsChecked       = bindingModel.IsChecked,
                DateCreated     = bindingModel.DateCreated,
                DateUpdated     = bindingModel.DateUpdated,
                CreatedBy       = bindingModel.CreatedBy,
                UpdatedBy       = bindingModel.UpdatedBy,
                StatusId        = bindingModel.StatusId
            };

            //return _expectedReceiptLineRepository.Update(expectedReceiptLine);
            if (IsDuplicateLine(expectedReceiptLine.ItemCode, expectedReceiptLine.Id, expectedReceiptLine.CustomerId) == false)
            {
                return(_expectedReceiptLineRepository.Update(expectedReceiptLine));
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        public long AddLine(ExpectedReceiptLineBindingModel bindingModel)
        {
            Product product = _productRepository.GetByProductCode(bindingModel.ProductCode);
            Uom     uom     = _uomRepository.GetByDescription(bindingModel.UomDescription);



            var expectedReceiptLine = new ExpectedReceiptLine
            {
                ExpectedReceiptId = (int)bindingModel.ExpectedReceiptId,
                ProductId         = product?.Id,
                UomId             = uom?.Id,
                Quantity          = bindingModel.Quantity,
                BrandId           = bindingModel.BrandId,
                Batch             = bindingModel.Batch,
                ItemCode          = bindingModel.ItemCode,
                ItemId            = bindingModel.ItemId,
                Line            = bindingModel.Line,
                ItemDescription = bindingModel.ItemDescription,
                ExpiryDate      = bindingModel.ExpiryDate,
                Comments        = bindingModel.Comments,
                Image           = bindingModel.Image,
                CustomerId      = bindingModel.CustomerId,
                IsItemExist     = bindingModel.IsItemExist,
                IsActive        = bindingModel.IsActive,
                IsChecked       = bindingModel.IsChecked,
                DateCreated     = bindingModel.DateCreated,
                DateUpdated     = bindingModel.DateUpdated,
                CreatedBy       = bindingModel.CreatedBy,
                UpdatedBy       = bindingModel.UpdatedBy,
                StatusId        = 32
            };

            //var expectedReceiptLineId = _expectedReceiptLineRepository.Add(expectedReceiptLine);


            if (IsDuplicateLine(expectedReceiptLine.ItemCode, expectedReceiptLine.Id, expectedReceiptLine.CustomerId) == false)
            {
                return(_expectedReceiptLineRepository.Add(expectedReceiptLine));
            }
            else
            {
                Expression <Func <ExpectedReceiptLine, bool> > res = x => x.ItemCode.ToLower() == expectedReceiptLine.ItemCode.ToLower() && x.CustomerId == expectedReceiptLine.CustomerId && x.IsActive == false;
                var getResult = _expectedReceiptLineRepository.Get(res);
                if (getResult != null)
                {
                    expectedReceiptLine.Id       = getResult.Id;
                    expectedReceiptLine.IsActive = true;
                    expectedReceiptLine.StatusId = 32;

                    _expectedReceiptLineRepository.Detach(expectedReceiptLine);

                    _expectedReceiptLineRepository.Update(expectedReceiptLine);
                    return(expectedReceiptLine.Id);
                }
                else
                {
                    return(0);
                }
            }


            ////Add Quantity on Items assign it to put away
            //if (expectedReceiptLineId != 0)
            //{
            //    Item item = _itemRepository.GetById(bindingModel.Id);
            //    item.Qty += expectedReceiptLine.Quantity;
            //    _itemRepository.Update(item);
            //    //return expectedReceiptLineId;
            //}

            //return expectedReceiptLineId;
        }