public async Task <IActionResult> Edit(int id, [Bind("IdDetalle,IdCalendarioFeriado,Empid,Fecha,Descripcion,DiaCompleto,HoraDesde,HoraHasta")] TrnCalendarioFeriadoDetalle trnCalendarioFeriadoDetalle) { if (id != trnCalendarioFeriadoDetalle.IdDetalle) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(trnCalendarioFeriadoDetalle); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TrnCalendarioFeriadoDetalleExists(trnCalendarioFeriadoDetalle.IdDetalle)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdCalendarioFeriado"] = new SelectList(_context.TrnCalendarioFeriado, "IdCalendarioFeriado", "Descripcion", trnCalendarioFeriadoDetalle.IdCalendarioFeriado); return(View(trnCalendarioFeriadoDetalle)); }
public async Task <IActionResult> Create([Bind("IdDetalle,IdCalendarioFeriado,Empid,Fecha,Descripcion,DiaCompleto,HoraDesde,HoraHasta")] TrnCalendarioFeriadoDetalle trnCalendarioFeriadoDetalle) { if (ModelState.IsValid) { _context.Add(trnCalendarioFeriadoDetalle); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["IdCalendarioFeriado"] = new SelectList(_context.TrnCalendarioFeriado, "IdCalendarioFeriado", "Descripcion", trnCalendarioFeriadoDetalle.IdCalendarioFeriado); return(View(trnCalendarioFeriadoDetalle)); }
public IActionResult AddDetail(TrnCalendarioFeriadoDetalle trnCalendarioFeriadoDetalle) { TrnCalendarioFeriadoVista trnCalendarioFeriadoVista = JsonConvert.DeserializeObject <TrnCalendarioFeriadoVista>(HttpContext.Session.GetString("trnCalendarioFeriadoVista")); DateTime?date = null; trnCalendarioFeriadoDetalle = new TrnCalendarioFeriadoDetalle() { IdCalendarioFeriado = 0, Empid = configuration.GetSection("empid").Value, Fecha = DateTime.Parse(Request.Form["Fecha"]), Descripcion = Request.Form["Descripcion"], DiaCompleto = Request.Form["DiaCompleto"] == "checked" ? "S" : "N", HoraDesde = string.IsNullOrWhiteSpace(Request.Form["HoraDesde"]) ? date : DateTime.Parse(Request.Form["HoraDesde"]), HoraHasta = string.IsNullOrWhiteSpace(Request.Form["HoraHasta"]) ? date : DateTime.Parse(Request.Form["HoraHasta"]), }; trnCalendarioFeriadoVista.detalle.Add(trnCalendarioFeriadoDetalle); HttpContext.Session.SetString("trnCalendarioFeriadoVista", JsonConvert.SerializeObject(trnCalendarioFeriadoVista)); return(View("NuevoCalendarioFeriado", trnCalendarioFeriadoVista)); }
public IActionResult NuevoCalendarioFeriado(TrnCalendarioFeriadoVista trnCalendarioFeriadoVista) { if (ModelState.IsValid) { trnCalendarioFeriadoVista = JsonConvert.DeserializeObject <TrnCalendarioFeriadoVista>(HttpContext.Session.GetString("trnCalendarioFeriadoVista")); if (trnCalendarioFeriadoVista.detalle.Count > 0) { using (var context = new ePlaceDBContext()) { using (IDbContextTransaction transaction = context.Database.BeginTransaction()) { try { string descripcion = Request.Form["trnCalendarioFeriado.Descripcion"]; TrnCalendarioFeriado trnCalendarioFeriado = new TrnCalendarioFeriado { Descripcion = descripcion, Empid = configuration.GetSection("empid").Value, }; _context.Add(trnCalendarioFeriado); _context.SaveChanges(); int lastCalendarioFeriadoID = _context.TrnCalendarioFeriado.ToList().Select(C => C.IdCalendarioFeriado).Max(); foreach (var item in trnCalendarioFeriadoVista.detalle) { TrnCalendarioFeriadoDetalle trnCalendarioFeriadoDetalle = new TrnCalendarioFeriadoDetalle { IdCalendarioFeriado = lastCalendarioFeriadoID, Descripcion = item.Descripcion, Empid = item.Empid, Fecha = item.Fecha, DiaCompleto = item.DiaCompleto, HoraDesde = item.HoraDesde, HoraHasta = item.HoraHasta }; _context.Add(trnCalendarioFeriadoDetalle); } _context.SaveChanges(); transaction.Commit(); trnCalendarioFeriadoVista.trnCalendarioFeriado = new TrnCalendarioFeriado(); trnCalendarioFeriadoVista.detalle = new List <TrnCalendarioFeriadoDetalle>(); HttpContext.Session.SetString("trnCalendarioFeriadoVista", JsonConvert.SerializeObject(trnCalendarioFeriadoVista)); ViewBag.Message = "Se guardó correctamente"; ViewBag.ResultMessageCss = "alert-success"; } catch (Exception ex) { ViewBag.Message = "Hubo un error al guardar los datos!"; ViewBag.ResultMessageCss = "alert-danger"; transaction.Rollback(); throw ex; } finally { ModelState.Clear(); } } } } else { ViewBag.Message = "Aún no ha ingresado elementos en el detalle!"; ViewBag.ResultMessageCss = "alert-danger"; } } return(View(trnCalendarioFeriadoVista)); }