public ActionResult Crear(ExcepcionRubro excepcionRubro) { if (!ModelState.IsValid) { return PartialView(excepcionRubro); } if (ExistenPeriodosSolapados(excepcionRubro)) { //Verificamos que nos se solapen los rangos ningun existente. ModelState.AddModelError("PeriodosSolapados", "El período ingresado coincide con uno o más cargados previamente"); return PartialView(excepcionRubro); } excepcionRubro.Identifier = Guid.NewGuid(); Uow.ExcepcionesRubros.Agregar(excepcionRubro); Uow.Commit(); return Json(new {exito = true}); }
public ActionResult Crear() { var excepcionRubro = new ExcepcionRubro(); excepcionRubro.RecargoPorcentaje = 0; return PartialView(excepcionRubro); }
private bool ExistenPeriodosSolapados(ExcepcionRubro excepcionRubro) { //Validate solapamiento para el rubro y el kiosco var excepcionesRubro = Uow.ExcepcionesRubros.Listado() .Where(ex => ex.MaxiKioscoId == excepcionRubro.MaxiKioscoId && ex.RubroId == excepcionRubro.RubroId && ex.ExcepcionRubroId != excepcionRubro.ExcepcionRubroId).ToList(); return excepcionesRubro.Any(ex => TimeSpanHelper .TimePeriodOverlap(excepcionRubro.Desde, excepcionRubro.Hasta, ex.Desde, ex.Hasta)); }