예제 #1
0
        public ActionResult GuardarNecesidad(
            [Bind(Include = "Form")] CrearNecesidadViewModel crearNecesidadViewModel,
            List <InsumoForm> insumos,
            List <ReferenciaForm> referencias,
            HttpPostedFileBase imagenNecesidad)
        {
            crearNecesidadViewModel.Form.Insumos     = insumos ?? crearNecesidadViewModel.Form.Insumos;
            crearNecesidadViewModel.Form.Referencias = referencias ?? crearNecesidadViewModel.Form.Referencias;

            if (imagenNecesidad == null)
            {
                ModelState.AddModelError("ImagenEmpty", "Se debe adjuntar una imagen");
            }

            ValidarDatosForm(crearNecesidadViewModel.Form);

            if (!ModelState.IsValid)
            {
                return(View("~/Views/Necesidad/crearNecesidad.cshtml", crearNecesidadViewModel));
            }

            var insumosList     = new List <NecesidadesDonacionesInsumos>();
            var referenciasList = new List <NecesidadesReferencias>();

            foreach (var insumo in crearNecesidadViewModel.Form.Insumos)
            {
                insumosList.Add(new NecesidadesDonacionesInsumos {
                    Nombre = insumo.Nombre, Cantidad = insumo.Cantidad
                });
            }

            foreach (var referencia in crearNecesidadViewModel.Form.Referencias)
            {
                referenciasList.Add(new NecesidadesReferencias {
                    Nombre = referencia.Nombre, Telefono = referencia.Telefono
                });
            }

            var necesidad = new Necesidades
            {
                Nombre      = crearNecesidadViewModel.Form.Nombre,
                Descripcion = crearNecesidadViewModel.Form.Descripcion,
                NecesidadesDonacionesInsumos = insumosList,
                NecesidadesReferencias       = referenciasList,
                IdUsuarioCreador             = (int)Session["UsuarioID"],
                TelefonoContacto             = crearNecesidadViewModel.Form.TelefonoDeContacto,
                FechaFin      = Convert.ToDateTime(crearNecesidadViewModel.Form.FechaFin),
                FechaCreacion = DateTime.Now
            };

            _servicioNecesidad.CrearNecesidad(necesidad, imagenNecesidad);

            return(RedirectToAction("Home", "Home"));
        }