/// <summary>
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public long Add(ExpectedReceiptLine obj)
        {
            var expectedReceiptLine = _db.ExpectedReceiptLines.FirstOrDefault(x => x.ExpectedReceiptId == obj.ExpectedReceiptId && x.ItemCode == obj.ItemCode);

            if (expectedReceiptLine != null)
            {
                if (expectedReceiptLine.IsActive)
                {
                    expectedReceiptLine.Quantity += obj.Quantity;
                }
                else
                {
                    expectedReceiptLine.Quantity   = obj.Quantity;
                    expectedReceiptLine.UpdatedBy  = obj.UpdatedBy;
                    expectedReceiptLine.ExpiryDate = obj.ExpiryDate;
                    expectedReceiptLine.IsActive   = true;
                }
                _db.Entry(expectedReceiptLine).State = EntityState.Modified;
                _db.SaveChanges();
            }
            else
            {
                _db.ExpectedReceiptLines.Add(obj);
                _db.SaveChanges();
            }

            return(obj.Id);
        }
        public bool Update(ExpectedReceiptLine obj)
        {
            //var getObj = GetById(obj.Id);
            //_db.Entry(getObj).State = System.Data.Entity.EntityState.Detached;
            _db.Entry(obj).State = EntityState.Modified;
            //_db.ExpectedReceiptLines.Attach(obj);
            _db.SaveChanges();

            return(true);
        }
예제 #3
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);
            }
        }
예제 #4
0
        public bool UpdateLine(object obj)
        {
            var objModel     = JObject.Parse(obj.ToString());
            var bindingModel = objModel.ToObject <ExpectedReceiptLineBindingModel>();

            Product product = _productRepository.GetByProductCode(bindingModel.ProductCode);


            var expectedReceiptLine = new ExpectedReceiptLine
            {
                Id = bindingModel.Id,
                ExpectedReceiptId = (int)bindingModel.ExpectedReceiptId,
                ProductId         = product?.Id,
                UomId             = bindingModel.UomId,
                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        = bindingModel.StatusId
            };

            return(_expectedReceiptLineRepository.Update(expectedReceiptLine));
        }
        public async Task <ActionResult> Create([Bind(Include = "ExpectedReceiptId, CustomerId ProductId, UomId, CustomerId, Line, ProductCode, ItemDescription, ItemCode, ItemId, Batch, ExpiryDate," +
                                                                " Quantity,UomDescription, BrandId, BrandName, IsChecked, ReferenceNumber, GoodsReceivedNumber, StatusCode, IsActive, CreatedBy, DateCreated, IsItemExist, StatusId")] ExpectedReceiptLine expectedReceiptLine)
        {
            expectedReceiptLine.IsChecked   = false;
            expectedReceiptLine.IsActive    = true;
            expectedReceiptLine.CreatedBy   = CookieHelper.EmailAddress;
            expectedReceiptLine.IsItemExist = true;

            var url = "api/GoodsIn/ExpectedReceipt/Lines/Add";

            var response = await HttpClientHelper.ApiCall(url, Method.POST, expectedReceiptLine);

            if (response.StatusCode == HttpStatusCode.Forbidden)
            {
                TempData["Message"]      = expectedReceiptLine.ItemCode + " is already exist! Please check and try again.";
                TempData["MessageAlert"] = "warning";
                return(RedirectToAction("Index"));
            }

            if (response.IsSuccessful)
            {
                TempData["Message"]      = expectedReceiptLine.ItemDescription + " successfully created!";
                TempData["MessageAlert"] = "success";
                return(RedirectToAction("Index", new { id = expectedReceiptLine.ExpectedReceiptId, GoodsReceivedNumber = expectedReceiptLine.GoodsReceivedNumber, StatusCode = expectedReceiptLine.StatusCode, IsActive = expectedReceiptLine.IsActive }));
            }
            else
            {
                Error("An error has occurred");
                Log.Error(string.Format(Type.GetType(typeof(ExpectedReceiptLinesController).Name) + "||Create||Expected Receipt Lines ID::{0}||API Response::{1}", expectedReceiptLine.Id, response));
                return(RedirectToAction("Index", new { id = expectedReceiptLine.ExpectedReceiptId, GoodsReceivedNumber = expectedReceiptLine.GoodsReceivedNumber, StatusCode = expectedReceiptLine.StatusCode, IsActive = expectedReceiptLine.IsActive }));
            }
            return(PartialView(expectedReceiptLine));

            //using (var client = new HttpClient())
            //{
            //    var url = new Uri(ConfigHelper.BaseUrl) + "api/GoodsIn/ExpectedReceipt/Lines/Add";
            //    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CookieHelper.Token);
            //    HttpResponseMessage responseMessage = await client.PostAsJsonAsync(url, expectedReceiptLine);

            //    if (responseMessage.StatusCode == HttpStatusCode.Forbidden)
            //    {
            //        TempData["Message"] = expectedReceiptLine.ItemCode + " is already exist! Please check and try again.";
            //        TempData["MessageAlert"] = "warning";
            //        return RedirectToAction("Index");
            //    }

            //    if (responseMessage.IsSuccessStatusCode)
            //    {
            //        TempData["Message"] = "Line Successfully Created";
            //        TempData["MessageAlert"] = "success";
            //        return RedirectToAction("Index", "ExpectedReceiptLines", new { id = expectedReceiptLine.ExpectedReceiptId, GoodsReceivedNumber = expectedReceiptLine.GoodsReceivedNumber , StatusCode = expectedReceiptLine.StatusCode });
            //    }
            //    else
            //    {
            //        Error("An error has occurred");
            //        Log.Error(string.Format(Type.GetType(typeof(ExpectedReceiptLinesController).Name) + "||Create||Expected Receipt Lines ID::{0}||API Response::{1}", expectedReceiptLine.Id, responseMessage));
            //        return RedirectToAction("Index", "ExpectedReceiptLines", new { id = expectedReceiptLine.ExpectedReceiptId, GoodsReceivedNumber = expectedReceiptLine.GoodsReceivedNumber, StatusCode = expectedReceiptLine.StatusCode });
            //    }
            //}

            //return PartialView(expectedReceiptLine);
        }
 public void Detach(ExpectedReceiptLine obj)
 {
     _db.Entry(obj).State = EntityState.Detached;
 }
 public bool Update(ExpectedReceiptLine obj)
 {
     return(_ExpectedReceiptLineRepository.Update(obj));
 }
 public long Add(ExpectedReceiptLine ExpectedReceiptLine)
 {
     return(_ExpectedReceiptLineRepository.Add(ExpectedReceiptLine));
 }
예제 #9
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;
        }
예제 #10
0
 public bool UpdateLine(ExpectedReceiptLine expectedReceiptLine)
 {
     return(_expectedReceiptLineRepository.Update(expectedReceiptLine));
 }
예제 #11
0
 public long AddLine(ExpectedReceiptLine expectedReceiptLine)
 {
     return(_expectedReceiptLineRepository.Add(expectedReceiptLine));
 }