Exemple #1
0
        public QuantityWindow()
        {
            InitializeComponent();
            QuantityViewModel vm = new QuantityViewModel();

            DataContext = vm;
            if (vm.CloseAction == null)
            {
                vm.CloseAction = () => { };
            }

            vm.CloseAction = Close;
        }
Exemple #2
0
        public async Task <ResponseViewModel <QuantityViewModel> > CreateAndUpdate(QuantityViewModel QauntityObj)
        {
            ResponseViewModel <QuantityViewModel> ResObj = new ResponseViewModel <QuantityViewModel>();

            try
            {
                if (QauntityObj != null)
                {
                    bool IsNew = false;
                    InventoryDBContext dbContext = new InventoryDBContext(await connMethod.GetConnectionString(QauntityObj.ConnectionString));
                    /*Check if already exists*/
                    Brand_Quantity_Time_Received QuantityDBObj = dbContext.Brand_Quantity_Time_Received.Where(x => x.Inventory_Id == QauntityObj.Brand_Id).FirstOrDefault();
                    if (QuantityDBObj == null)
                    {
                        QuantityDBObj = new Brand_Quantity_Time_Received();
                        IsNew         = true;
                    }
                    QuantityDBObj.Brand_Id      = QauntityObj.Brand_Id;
                    QuantityDBObj.Quantity      = QauntityObj.Quantity;
                    QuantityDBObj.Time_Received = QauntityObj.Time_Received;
                    if (IsNew)
                    {
                        await dbContext.Brand_Quantity_Time_Received.AddAsync(QuantityDBObj);
                    }
                    await dbContext.SaveChangesAsync();

                    QauntityObj.Inventory_Id = QuantityDBObj.Inventory_Id;
                    ResObj.IsSuccess         = true;
                    List <QuantityViewModel> QuantityList = new List <QuantityViewModel>();
                    QuantityList.Add(QauntityObj);
                    ResObj.Data = QuantityList;
                }
                else
                {
                    ResObj.IsSuccess    = false;
                    ResObj.ErrorCode    = 400;
                    ResObj.ErrorDetails = "Parameter not provided.";
                }
            }
            catch (Exception ex)
            {
                ResObj.IsSuccess    = false;
                ResObj.ErrorCode    = 500;
                ResObj.ErrorDetails = ex.ToString();
            }
            return(ResObj);
        }
Exemple #3
0
        public async Task <ResponseViewModel <QuantityViewModel> > Get(QuantityViewModel QauntityObj)
        {
            ResponseViewModel <QuantityViewModel> ResObj = new ResponseViewModel <QuantityViewModel>();

            try
            {
                if (QauntityObj != null)
                {
                    InventoryDBContext dbContext = new InventoryDBContext(await connMethod.GetConnectionString(QauntityObj.ConnectionString));
                    var Qauntity = (from Quantity in dbContext.Brand_Quantity_Time_Received.Where(x => x.Inventory_Id == QauntityObj.Inventory_Id || QauntityObj.Inventory_Id == 0)
                                    join brand in dbContext.Brand on Quantity.Brand_Id equals brand.Brand_Id
                                    select new QuantityViewModel {
                        Inventory_Id = Quantity.Inventory_Id,
                        Brand_Id = Quantity.Brand_Id,
                        Name = brand.Name,
                        Time_Received = Quantity.Time_Received,
                        Quantity = Quantity.Quantity
                    }
                                    ).ToList();
                    if (Qauntity.Count() > 0)
                    {
                        Qauntity[0].TotalQuantity = Qauntity.Sum(x => x.Quantity);
                        ResObj.Data      = JsonConvert.DeserializeObject <List <QuantityViewModel> >(JsonConvert.SerializeObject(Qauntity.ToList()));
                        ResObj.IsSuccess = true;
                    }
                    else
                    {
                        ResObj.IsSuccess    = false;
                        ResObj.ErrorCode    = 404;
                        ResObj.ErrorDetails = "No record found.";
                    }
                }
                else
                {
                    ResObj.IsSuccess    = false;
                    ResObj.ErrorCode    = 400;
                    ResObj.ErrorDetails = "Parameter not provided.";
                }
            }
            catch (Exception ex)
            {
                ResObj.IsSuccess    = false;
                ResObj.ErrorCode    = 500;
                ResObj.ErrorDetails = ex.ToString();
            }
            return(await Task.Run(() => { return ResObj; }));
        }
Exemple #4
0
        public async Task <ResponseViewModel <QuantityViewModel> > Delete(QuantityViewModel QuantityObj)
        {
            ResponseViewModel <QuantityViewModel> ResObj = new ResponseViewModel <QuantityViewModel>();

            try
            {
                if (QuantityObj != null)
                {
                    InventoryDBContext dbContext = new InventoryDBContext(await connMethod.GetConnectionString(QuantityObj.ConnectionString));
                    /*Check if already exists*/
                    Brand_Quantity_Time_Received QuantityDBObj = dbContext.Brand_Quantity_Time_Received.Where(x => x.Inventory_Id == QuantityObj.Inventory_Id).FirstOrDefault();
                    if (QuantityDBObj != null)
                    {
                        dbContext.Brand_Quantity_Time_Received.Remove(QuantityDBObj);
                        await dbContext.SaveChangesAsync();

                        ResObj.IsSuccess = true;
                    }
                    else
                    {
                        ResObj.IsSuccess    = false;
                        ResObj.ErrorCode    = 404;
                        ResObj.ErrorDetails = "Record not found.";
                    }
                }
                else
                {
                    ResObj.IsSuccess    = false;
                    ResObj.ErrorCode    = 400;
                    ResObj.ErrorDetails = "Parameter not provided.";
                }
            }
            catch (Exception ex)
            {
                ResObj.IsSuccess    = false;
                ResObj.ErrorCode    = 500;
                ResObj.ErrorDetails = ex.ToString();
            }
            return(ResObj);
        }
 public async Task <ResponseViewModel <QuantityViewModel> > Delete([FromBody] QuantityViewModel QuantityObj)
 {
     return(await quantityMethod.Delete(QuantityObj));
 }
 public async Task <ResponseViewModel <QuantityViewModel> > Save([FromBody] QuantityViewModel QuantityObj)
 {
     return(await quantityMethod.CreateAndUpdate(QuantityObj));
 }
 public async Task <ResponseViewModel <QuantityViewModel> > Get(QuantityViewModel QuantityObj)
 {
     return(await quantityMethod.Get(QuantityObj));
 }
Exemple #8
0
        public HttpResponseMessage CreateQuantityOfStock(QuantityViewModel quantityVM)
        {
            var response = new ApiResultViewModel <QuantityViewModel>();

            if (quantityVM == null || quantityVM.Id == 0)
            {
                response.errorStatus  = true;
                response.errorMessage = "Invalid request.";
                return(Request.CreateResponse(response));
            }

            try
            {
                using (var uow = _prodSvc.UnitOfWork)
                {
                    uow.BeginTransaction();
                    var product = _prodSvc.GetProductById(quantityVM.Id);
                    if (product == null)
                    {
                        response.errorStatus  = true;
                        response.errorMessage = "Product was not found.";
                        return(Request.CreateResponse(response));
                    }

                    if (quantityVM.Quantity == null)
                    {
                        response.errorStatus  = true;
                        response.errorMessage = "Please enter a value for the quantity";
                        return(Request.CreateResponse(response));
                    }

                    var membershipId = IposConfig.UseMembership ? (Guid?)IposMembershipService.GetUserId(User.Identity.Name) : null;

                    var identityUserId = User.Identity.GetUserId <int>();



                    product.Quantity += quantityVM.Quantity;


                    product.ProductId    = product.ProductId;
                    product.CreatedBy_Id = identityUserId;
                    //newQuantity.ModifiedBy_Id = membershipId(int);

                    // newSpoil.User_Id = membershipId;

                    _prodSvc.Update(product);

                    if (product.HasErrors)
                    {
                        response.errorStatus  = product.HasErrors;
                        response.errorMessage = product.ValidationErrors.FirstOrDefault() != null?
                                                product.ValidationErrors.FirstOrDefault().ErrorMessage : String.Empty;
                    }
                    else
                    {
                        quantityVM.Quantity = product.Quantity;

                        var eventDescription = String.Format("{0} quantity of {1} was updated.", product.Quantity, product.Name);
                        _auditSvc.LogEvent(eventDescription, AuditType.NEW_PRODUCT, membershipId, identityUserId);
                        uow.Commit();
                        response.message = "Quantity has now been updated.";
                        response.result  = quantityVM;
                    }

                    // return Request.CreateResponse(response);
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex);

#if DEBUG
                response.errorMessage = ex.Message;
                response.errorStatus  = true;
#else
                response.errorMessage = "Error occured, please contact admin.";
                response.errorStatus  = true;
#endif
            }
            return(Request.CreateResponse(response));
        }
        public async Task<ActionResult> Quantity(Guid notificationId, QuantityViewModel model)
        {
            ViewBag.MovementNumber = model.MovementNumber;
            TempData[MovementNumberKey] = model.MovementNumber;
            TempData[UnitKey] = model.Units;

            if (!ModelState.IsValid)
            {
                return View(model);
            }

            TempData[QuantityKey] = model.Quantity;

            var hasExceededTotalQuantity =
                await mediator.SendAsync(new HasExceededConsentedQuantity(notificationId, Convert.ToDecimal(model.Quantity), model.Units.Value));

            if (hasExceededTotalQuantity)
            {
                ModelState.AddModelError("Quantity", QuantityViewModelResources.HasExceededTotalQuantity);
            }

            if (!ModelState.IsValid)
            {
                ViewBag.MovementNumber = model.MovementNumber;
                return View(model);
            }

            return RedirectToAction("PackagingTypes", "Create");
        }
        public async Task<ActionResult> Quantity(Guid notificationId)
        {
            object result;
            if (TempData.TryGetValue(MovementNumberKey, out result))
            {
                var movementNumber = (int)result;
                var shipmentUnits = await mediator.SendAsync(new GetShipmentUnits(notificationId));

                ViewBag.MovementNumber = movementNumber;
                var model = new QuantityViewModel(shipmentUnits, movementNumber);

                return View(model);
            }

            return RedirectToAction("ShipmentDate", "Create");
        }