Ejemplo n.º 1
0
        protected override void Initialize(RequestContext requestContext)
        {
            var connectString = ConfigurationManager.ConnectionStrings["dcms8"].ConnectionString;

            if (_service == null)
            {
                _service = new RestockService(requestContext, requestContext.HttpContext.User.Identity.Name, connectString);
            }
            base.Initialize(requestContext);
        }
        public IHttpActionResult CreateRestock(List <RestockServiceDto> restockServiceDtos)
        {
            var restock = new Restock {
                RestockDate = DateTime.Now,
                Total       = restockServiceDtos.Where(r => r.Quantity > 0).Sum(r => r.Total)
            };

            _context.Restocks.Add(restock);

            foreach (var item in restockServiceDtos)
            {
                if (item.Quantity > 0)
                {
                    var restockService = new RestockService
                    {
                        Restock   = restock,
                        ServiceId = item.ServiceId,
                        Quantity  = item.Quantity,
                        Total     = item.Total
                    };
                    _context.RestockServices.Add(restockService);

                    var warehouseInDb = _context.Warehouses.SingleOrDefault(w => w.Service.ServiceId == item.ServiceId);
                    if (warehouseInDb == null)
                    {
                        var warehouse = new Warehouse {
                            Service  = _context.Services.Single(s => s.ServiceId == item.ServiceId),
                            Quantity = item.Quantity
                        };
                        _context.Warehouses.Add(warehouse);
                    }
                    else
                    {
                        warehouseInDb.Quantity += item.Quantity;
                    }
                }
            }

            _context.SaveChanges();

            var restockDto = new RestockDto {
                RestockId   = restock.RestockId,
                RestockDate = restock.RestockDate.ToString("dd MMM yyyy HH:mm"),
                Total       = restock.Total.ToString("n0")
            };

            return(Json(restockDto));
        }