Beispiel #1
0
 //Presentacion
 public async Task <Presentacion> ToPresentacionAsync(AddPresentacionViewModel model)
 {
     return(new Presentacion
     {
         Nombre = model.Nombre,
         Etiqueta = await _dataContext.Etiquetas.FindAsync(model.EtiquetaId),
         Envase = await _dataContext.Envases.FindAsync(model.EnvaseId),
         Id = model.Id
     });
 }
Beispiel #2
0
        public IActionResult Create()
        {
            //Aqui necesitamos enviar los combo box respectiivos

            var model = new AddPresentacionViewModel
            {
                Envases   = _combosHelper.GetComboEnvases(),
                Etiquetas = _combosHelper.GetComboEtiqueta()
            };

            return(View(model));
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(AddPresentacionViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (_validatorHelper.IsEtiquetaUsed(model.EtiquetaId))
                {
                    //Aqui tiene que venir una ventana de error.
                    return(RedirectToAction("Error"));
                }

                //El id de la presentacion tiene que ser igual al id de la etiqueta por la relacion 1-1
                var presentacion = await _converterHelper.ToPresentacionAsync(model);

                var etiqueta = _etiquetaRepository.GetEtiqueta(model.FormerEtiquetaId);



                await _presentacionRepository.UpdateAsync(presentacion);

                etiqueta.IsUsed = false;

                await _etiquetaRepository.UpdateAsync(etiqueta);

                etiqueta = _etiquetaRepository.GetEtiqueta(model.EtiquetaId);
                //Esto en teoria no deberia estar aca, se puede hacer una abstraccion mas, pero como no es un cambio de
                //La base de datos, sino del objeto en si creo que estaria permitido.
                etiqueta.IsUsed = true;


                await _etiquetaRepository.UpdateAsync(etiqueta);


                //Dtalles del propietario
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
Beispiel #4
0
        public async Task <IActionResult> Create(AddPresentacionViewModel model)
        {
            //Aqui igual tenemos que hacer lo corresopndiente


            if (ModelState.IsValid)
            {
                if (_validatorHelper.IsEtiquetaUsed(model.EtiquetaId))
                {
                    return(RedirectToAction("Error"));
                }

                var etiqueta     = _etiquetaRepository.GetEtiqueta(model.EtiquetaId);
                var presentacion = await _converterHelper.ToPresentacionAsync(model);



                await _presentacionRepository.CreateAsync(presentacion);



                //Solo depsues que se haya guardado los datos, tenemos que insertar la etiqueta

                etiqueta.IsUsed = true;


                await _etiquetaRepository.UpdateAsync(etiqueta);


                return(RedirectToAction("Index"));
            }
            else
            {
                model.Envases   = _combosHelper.GetComboEnvases();
                model.Etiquetas = _combosHelper.GetComboEtiqueta();
            }

            return(View(model));
        }