Example #1
0
        public async Task <IActionResult> Create(StockAndSupplierViewModel model)
        {
            if (ModelState.IsValid)
            {
                //esto recupera todos los  regsitros en los que el nombre sea el mismo
                var doesStockExists = _db.Stock.Include(s => s.Supplier).Where(s => s.Name == model.Stock.Name && s.Supplier.Id == model.Stock.SupplierId);

                if (doesStockExists.Count() > 0)
                {
                    //error
                    StatusMessage = "Error: El stock existe bajo el proveedor: " + doesStockExists.First().Supplier.CompanyName + ". Por favor, use otro nombre";
                }
                else
                {
                    _db.Stock.Add(model.Stock);

                    await _db.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }

            //en caso de que no sea valido tendremos que retroceder y crear el view model
            StockAndSupplierViewModel modelVM = new StockAndSupplierViewModel()
            {
                SupplierList  = await _db.Supplier.ToListAsync(),
                Stock         = model.Stock,
                StockList     = await _db.Stock.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync(),
                StatusMessage = StatusMessage
                                //Idneitty ya tiene un statusmessage que podemos usar
            };

            return(View(modelVM));
        }
Example #2
0
        //GET-Create
        public async Task <IActionResult> Create()
        {
            StockAndSupplierViewModel model = new StockAndSupplierViewModel()
            {
                SupplierList = await _db.Supplier.ToListAsync(),
                Stock        = new Models.Stock(),
                StockList    = await _db.Stock.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync()
            };

            return(View(model));
        }
Example #3
0
        //GET-Edit
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var stock = await _db.Stock.SingleOrDefaultAsync(m => m.Id == id);

            if (stock == null)
            {
                return(NotFound());
            }

            StockAndSupplierViewModel model = new StockAndSupplierViewModel()
            {
                SupplierList = await _db.Supplier.ToListAsync(),
                Stock        = stock,
                StockList    = await _db.Stock.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync()
            };

            return(View(model));
        }