コード例 #1
0
        public ActionResult Donar(DonacionesInsumos donacionInsumos)
        {
            DonacionesInsumos            donacionI = new DonacionesInsumos();
            NecesidadesDonacionesInsumos nec       = new NecesidadesDonacionesInsumos();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }
                else
                {
                    int idUsuario = int.Parse(Session["UserId"].ToString());
                    donacionI           = servicioDonacionInsumo.GuardarCantidadDonada(donacionInsumos, idUsuario);
                    nec                 = servicioNecesidadesDonacionesInsumos.ObtenerNecesidadDonacionInsumosPorId(donacionInsumos.IdNecesidadDonacionInsumo);
                    TempData["Mensaje"] = "Gracias por su donación"; //Creo el TempData son el mensaje. Este TempData lo uso en la vista.
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error: ", ex.Message);
            }
            return(RedirectToAction("DonacionInsumos", new { nec.IdNecesidad })); /*Aca le paso nec.IdNecesidad porque DonacionInsumos espera un Id. Si no se
                                                                                   *                lo paso, me va a tirar error 404*/
        }
コード例 #2
0
 public static void Crear(DonacionesInsumos model)
 {
     Validar(model);
     model.IdUsuario = SessionHelper.Usuario.IdUsuario;
     Db.DonacionesInsumos.Add(model);
     Db.CustomSaveChanges();
 }
コード例 #3
0
        public ActionResult Donar(int idNecesidadDonacionInsumo)
        {
            DonacionesInsumos donacionesInsumos = new DonacionesInsumos();

            donacionesInsumos.IdNecesidadDonacionInsumo = idNecesidadDonacionInsumo;
            return(View(donacionesInsumos));
        }
コード例 #4
0
        public ActionResult DonacionInsumos(DonacionesInsumos DonacionesInsumos)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(DonacionesInsumos));
                }

                ServicioDonacionInsumo servicioDonacionInsumo = new ServicioDonacionInsumo();

                //Valido que los datos ingresados estén bien
                bool cantidadIngresada = servicioDonacionInsumo.CantidadMinimaDeInsumo(DonacionesInsumos);
                if (!cantidadIngresada)
                {
                    ViewBag.mensajeError = "Debe ingresar al menos un insumo";
                    return(View());
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error: ", ex.Message);
            }

            return(RedirectToAction("GraciasPorDonarInsumos"));
        }
コード例 #5
0
        public DonacionesInsumos GuardarCantidadDonada(DonacionesInsumos donacionesI, int idUsuario)
        {
            donacionesI.IdUsuario     = idUsuario;
            donacionesI.FechaCreacion = DateTime.Now;

            return(DonacionInsumosDao.Guardar(donacionesI));
        }
コード例 #6
0
 public bool CantidadMinimaDeInsumo(DonacionesInsumos DonacionesInsumos)
 {
     if (DonacionesInsumos.Cantidad < 1)
     {
         return(false);
     }
     return(true);
 }
コード例 #7
0
 public RealizarDonacionMV()
 {
     PropuestaMonetaria        = new PropuestasDonacionesMonetarias();
     ListaPropuestaInsumo      = new List <PropuestasDonacionesInsumos>();
     ListaPropuestaHoraTrabajo = new List <PropuestasDonacionesHorasTrabajo>();
     DonacionMonetaria         = new DonacionesMonetariasMetadatos();
     DonacionInsumo            = new DonacionesInsumos();
     DonacionHoraTrabajo       = new DonacionesHorasTrabajoMetadatos();
     TodasDonacionesMonetarias = new List <DonacionesMonetarias>();
     TodasDonacionesInsumos    = new List <DonacionesInsumosMetadatos>();
     TodasDonacionesHoras      = new List <DonacionesHorasTrabajo>();
 }
コード例 #8
0
        public static void Update(DonacionesInsumos donacion)
        {
            var propuesta = Db.PropuestasDonacionesInsumos.FirstOrDefault(pdi =>
                                                                          pdi.IdPropuestaDonacionInsumo == donacion.IdPropuestaDonacionInsumo);

            if (propuesta == null)
            {
                throw new Exception();
            }
            propuesta.Cantidad -= donacion.Cantidad;
            Db.CustomSaveChanges();
        }
コード例 #9
0
        public DonacionInsumosDTO(DonacionesInsumos donacionesInsumos, bool mapearRelacionadas = true)
        {
            this.IdDonacionInsumo          = donacionesInsumos.IdDonacionInsumo;
            this.Cantidad                  = donacionesInsumos.Cantidad;
            this.IdNecesidadDonacionInsumo = donacionesInsumos.IdNecesidadDonacionInsumo;
            this.IdUsuario                 = donacionesInsumos.IdUsuario;
            this.FechaCreacion             = donacionesInsumos.FechaCreacion;

            if (mapearRelacionadas && donacionesInsumos != null)
            {
                this.NecesidadesDonacionesInsumos = new NecesidadesDonacionesInsumosDTO(donacionesInsumos.NecesidadesDonacionesInsumos, false);
            }
        }
コード例 #10
0
        public void GuardarDonacionInsumo(RealizarDonacionMV model)
        {
            foreach (DonacionesInsumosMetadatos d in model.TodasDonacionesInsumos)
            {
                DonacionesInsumos miDona = new DonacionesInsumos();
                if (d.Cantidad != 0)
                {
                    miDona.Cantidad = d.Cantidad;
                    miDona.IdPropuestaDonacionInsumo = d.IdPropuestaDonacionInsumo;
                    miDona.IdUsuario = d.IdUsuario;


                    db.DonacionesInsumos.Add(miDona);
                }
                miDona = null;
            }
            db.SaveChanges();
        }
コード例 #11
0
        private static void Validar(DonacionesInsumos model)
        {
            var objetivo = Db.PropuestasDonacionesInsumos
                           .FirstOrDefault(pdi => pdi.IdPropuestaDonacionInsumo == model.IdPropuestaDonacionInsumo)?.Cantidad;
            var donacionesObtenidas = Db.DonacionesInsumos
                                      .Where(d => d.IdPropuestaDonacionInsumo == model.IdPropuestaDonacionInsumo).ToList();
            var obtenido = 0;

            if (donacionesObtenidas.Count != 0)
            {
                obtenido = donacionesObtenidas.Sum(d => d.Cantidad);
            }
            var restante = objetivo - obtenido;

            if (model.Cantidad > restante || model.Cantidad <= 0)
            {
                throw new Exception();
            }
        }
コード例 #12
0
        public int AgregarDonacionInsumos(RealizarDonacionInsumosFormulario f, int userId, int idPropuesta)
        {
            Propuestas p = BuscarPorId(idPropuesta);

            foreach (var item in f.Insumos)
            {
                DonacionesInsumos d = new DonacionesInsumos();
                d.IdPropuestaDonacionInsumo = item.Id;
                d.Cantidad  = item.Cantidad;
                d.IdUsuario = userId;

                context.Propuestas
                .Where(x => x.IdPropuesta == idPropuesta)
                .Single().PropuestasDonacionesInsumos
                .Where(x => x.IdPropuestaDonacionInsumo == item.Id)
                .Single().DonacionesInsumos.Add(d);
            }

            return(context.SaveChanges());
        }
コード例 #13
0
ファイル: DonacionesService.cs プロジェクト: tompais/Solidam
        public List <DonacionesInsumos> Get(DonacionesInsumos model)
        {
            var query = Db.DonacionesInsumos.AsQueryable();

            if (model == null)
            {
                return(query.ToList());
            }
            if (model.IdUsuario > 0)
            {
                query = query.Where(q => q.IdUsuario == model.IdUsuario);
            }

            if (model.PropuestasDonacionesInsumos?.Propuestas != null &&
                !string.IsNullOrEmpty(model.PropuestasDonacionesInsumos.Propuestas.Nombre))
            {
                query = query.Where(q =>
                                    q.PropuestasDonacionesInsumos.Propuestas.Nombre.Contains(
                                        model.PropuestasDonacionesInsumos.Propuestas.Nombre));
            }
            return(query.ToList());
        }
コード例 #14
0
        public ActionResult RealizarDonacionDeInsumos(FormCollection form)
        {
            if (ModelState.IsValid)
            {
                DonacionesInsumos        di;
                List <DonacionesInsumos> insumos = new List <DonacionesInsumos>();

                for (int i = 0; i < Int32.Parse(form["Cantidad"]); i++)
                {
                    di           = new DonacionesInsumos();
                    di.IdUsuario = Int32.Parse(form["IdUsuario"]);
                    di.Cantidad  = Int32.Parse(form["Cantidad[" + i + "]"]);
                    di.IdPropuestaDonacionInsumo = Int32.Parse(form["IdPropuestaDonacionInsumo[" + i + "]"]);
                    insumos.Add(di);
                }

                propuestas.AgregarDonacionDeInsumos(insumos);
                return(Redirect("/Home/Index"));
            }
            else
            {
                return(View(form));
            }
        }