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*/ }
public static void Crear(DonacionesInsumos model) { Validar(model); model.IdUsuario = SessionHelper.Usuario.IdUsuario; Db.DonacionesInsumos.Add(model); Db.CustomSaveChanges(); }
public ActionResult Donar(int idNecesidadDonacionInsumo) { DonacionesInsumos donacionesInsumos = new DonacionesInsumos(); donacionesInsumos.IdNecesidadDonacionInsumo = idNecesidadDonacionInsumo; return(View(donacionesInsumos)); }
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")); }
public DonacionesInsumos GuardarCantidadDonada(DonacionesInsumos donacionesI, int idUsuario) { donacionesI.IdUsuario = idUsuario; donacionesI.FechaCreacion = DateTime.Now; return(DonacionInsumosDao.Guardar(donacionesI)); }
public bool CantidadMinimaDeInsumo(DonacionesInsumos DonacionesInsumos) { if (DonacionesInsumos.Cantidad < 1) { return(false); } return(true); }
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>(); }
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(); }
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); } }
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(); }
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(); } }
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()); }
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()); }
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)); } }