public async Task <IActionResult> Gestionar(RequisitoLegal requisitoLegal) { try { ViewBag.accion = requisitoLegal.IdRequisitoLegal == 0 ? "Crear" : "Editar"; Action accion = async() => { ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); }; if (ModelState.IsValid) { var existeRegistro = false; if (requisitoLegal.IdRequisitoLegal == 0) { if (!await db.RequisitoLegal.AnyAsync(c => c.Nombre.ToUpper().Trim() == requisitoLegal.Nombre.ToUpper().Trim() && c.IdOrganismoControl == requisitoLegal.IdOrganismoControl)) { db.Add(requisitoLegal); } else { existeRegistro = true; } } else { if (!await db.RequisitoLegal.Where(c => c.Nombre.ToUpper().Trim() == requisitoLegal.Nombre.ToUpper().Trim() && c.IdOrganismoControl == requisitoLegal.IdOrganismoControl).AnyAsync(c => c.IdRequisitoLegal != requisitoLegal.IdRequisitoLegal)) { db.Update(requisitoLegal); } else { existeRegistro = true; } } if (!existeRegistro) { await db.SaveChangesAsync(); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } else { return(this.VistaError(requisitoLegal, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}", accion)); } } return(this.VistaError(requisitoLegal, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}", accion)); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task <IActionResult> Gestionar(RequisitoLegal requisitoLegal) { try { ViewBag.accion = requisitoLegal.IdRequisitoLegal == 0 ? "Crear" : "Editar"; var UsuarioAutenticado = await _userManager.GetUserAsync(User); var ListaEmpresas = new List <Empresa>(); var ListaOrganismoControl = new List <OrganismoControl>(); var OrganismoControl = new OrganismoControl(); if (ModelState.IsValid) { var existeRegistro = false; if (requisitoLegal.IdRequisitoLegal == 0) { if (!await db.RequisitoLegal.AnyAsync(c => c.Nombre.ToUpper().Trim() == requisitoLegal.Nombre.ToUpper().Trim() && c.IdOrganismoControl == requisitoLegal.IdOrganismoControl)) { db.Add(requisitoLegal); } else { existeRegistro = true; } } else { if (!await db.RequisitoLegal.Where(c => c.Nombre.ToUpper().Trim() == requisitoLegal.Nombre.ToUpper().Trim() && c.IdOrganismoControl == requisitoLegal.IdOrganismoControl).AnyAsync(c => c.IdRequisitoLegal != requisitoLegal.IdRequisitoLegal)) { db.Update(requisitoLegal); } else { existeRegistro = true; } } if (!existeRegistro) { await db.SaveChangesAsync(); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } else { if (requisitoLegal == null) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.RegistroNoEncontrado}")); } ListaEmpresas = db.Empresa.ToList(); ListaOrganismoControl = db.OrganismoControl.ToList(); if (User.IsInRole(Perfiles.AdministradorEmpresa)) { ListaEmpresas = ListaEmpresas.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); ListaOrganismoControl = ListaOrganismoControl.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); } OrganismoControl = ListaOrganismoControl .Where(x => x.IdOrganismoControl == requisitoLegal.IdOrganismoControl).FirstOrDefault(); requisitoLegal.IdEmpresa = OrganismoControl.Empresa?.IdEmpresa ?? 0; ViewData["Empresas"] = new SelectList(ListaEmpresas.OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre", requisitoLegal.IdEmpresa); ViewData["OrganismoControl"] = new SelectList(ListaOrganismoControl.Where(x => x.IdEmpresa == requisitoLegal.IdEmpresa).OrderBy(c => c.Nombre).ToList(), "IdOrganismoControl", "Nombre", selectedValue: requisitoLegal.IdOrganismoControl); return(this.VistaError(requisitoLegal, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}")); } } ListaEmpresas = db.Empresa.ToList(); ListaOrganismoControl = db.OrganismoControl.ToList(); if (User.IsInRole(Perfiles.AdministradorEmpresa)) { ListaEmpresas = ListaEmpresas.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); ListaOrganismoControl = ListaOrganismoControl.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); } OrganismoControl = ListaOrganismoControl .Where(x => x.IdOrganismoControl == requisitoLegal.IdOrganismoControl).FirstOrDefault(); requisitoLegal.IdEmpresa = OrganismoControl.Empresa?.IdEmpresa ?? 0; ViewData["Empresas"] = new SelectList(ListaEmpresas.OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre", requisitoLegal.IdEmpresa); ViewData["OrganismoControl"] = new SelectList(ListaOrganismoControl.Where(x => x.IdEmpresa == requisitoLegal.IdEmpresa).OrderBy(c => c.Nombre).ToList(), "IdOrganismoControl", "Nombre", selectedValue: requisitoLegal.IdOrganismoControl); return(this.VistaError(requisitoLegal, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task <IActionResult> Gestionar(Documento documento) { try { ViewBag.accion = documento.IdDocumento == 0 ? "Crear" : "Editar"; var UsuarioAutenticado = await _userManager.GetUserAsync(User); var ListaEmpresas = new List <Empresa>(); var ListaRequisitoLegal = new List <RequisitoLegal>(); var RequisitoLegal = new RequisitoLegal(); if (ModelState.IsValid) { var existeRegistro = false; if (documento.IdDocumento == 0) { if (!await db.Documento.AnyAsync(c => c.Nombre.ToUpper().Trim() == documento.Nombre.ToUpper().Trim() && c.IdRequisitoLegal == documento.IdRequisitoLegal)) { db.Add(documento); } else { existeRegistro = true; } } else { if (!await db.Documento.Where(c => c.Nombre.ToUpper().Trim() == documento.Nombre.ToUpper().Trim() && c.IdRequisitoLegal == documento.IdRequisitoLegal).AnyAsync(c => c.IdDocumento != documento.IdDocumento)) { db.Update(documento); } else { existeRegistro = true; } } if (!existeRegistro) { await db.SaveChangesAsync(); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } else { ListaEmpresas = await db.Empresa.ToListAsync(); ListaRequisitoLegal = await db.RequisitoLegal.OrderBy(c => c.Nombre).Select(y => new RequisitoLegal { IdRequisitoLegal = y.IdRequisitoLegal, Nombre = y.Nombre.Length > 100 ? y.Nombre.Substring(0, 100).ToString() + " ..." + " | " + y.OrganismoControl.Nombre : y.Nombre + " | " + y.OrganismoControl.Nombre , OrganismoControl = new OrganismoControl { Nombre = y.OrganismoControl.Nombre, IdOrganismoControl = y.OrganismoControl.IdOrganismoControl, IdEmpresa = y.OrganismoControl.IdEmpresa, Empresa = new Empresa { Nombre = y.OrganismoControl.Empresa.Nombre, IdEmpresa = y.OrganismoControl.Empresa.IdEmpresa, } } }).ToListAsync(); if (User.IsInRole(Perfiles.AdministradorEmpresa)) { ListaEmpresas = ListaEmpresas.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); ListaRequisitoLegal = ListaRequisitoLegal.Where(x => x.OrganismoControl.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); } RequisitoLegal = ListaRequisitoLegal .Where(x => x.IdRequisitoLegal == documento.IdRequisitoLegal).FirstOrDefault(); documento.IdEmpresa = RequisitoLegal.OrganismoControl.IdEmpresa ?? 0; ViewData["Empresas"] = new SelectList(ListaEmpresas.OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre", documento.IdEmpresa); ViewData["RequisitoLegal"] = new SelectList(ListaRequisitoLegal .Where(x => x.OrganismoControl.IdEmpresa == documento.IdEmpresa) .OrderBy(c => c.Nombre).ToList(), "IdRequisitoLegal", "Nombre", selectedValue: documento.IdEmpresa); return(this.VistaError(documento, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}")); } } ListaEmpresas = await db.Empresa.ToListAsync(); ListaRequisitoLegal = await db.RequisitoLegal.OrderBy(c => c.Nombre).Select(y => new RequisitoLegal { IdRequisitoLegal = y.IdRequisitoLegal, Nombre = y.Nombre.Length > 100 ? y.Nombre.Substring(0, 100).ToString() + " ..." + " | " + y.OrganismoControl.Nombre : y.Nombre + " | " + y.OrganismoControl.Nombre , OrganismoControl = new OrganismoControl { Nombre = y.OrganismoControl.Nombre, IdOrganismoControl = y.OrganismoControl.IdOrganismoControl, IdEmpresa = y.OrganismoControl.IdEmpresa, Empresa = new Empresa { Nombre = y.OrganismoControl.Empresa.Nombre, IdEmpresa = y.OrganismoControl.Empresa.IdEmpresa, } } }).ToListAsync(); if (User.IsInRole(Perfiles.AdministradorEmpresa)) { ListaEmpresas = ListaEmpresas.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); ListaRequisitoLegal = ListaRequisitoLegal.Where(x => x.OrganismoControl.IdEmpresa == UsuarioAutenticado.IdEmpresa).ToList(); } RequisitoLegal = ListaRequisitoLegal .Where(x => x.IdRequisitoLegal == documento.IdRequisitoLegal).FirstOrDefault(); documento.IdEmpresa = RequisitoLegal.OrganismoControl.IdEmpresa ?? 0; ViewData["Empresas"] = new SelectList(ListaEmpresas.OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre", documento.IdEmpresa); ViewData["RequisitoLegal"] = new SelectList(ListaRequisitoLegal .Where(x => x.OrganismoControl.IdEmpresa == documento.IdEmpresa) .OrderBy(c => c.Nombre).ToList(), "IdRequisitoLegal", "Nombre", selectedValue: documento.RequisitoLegal.OrganismoControl.IdEmpresa); return(this.VistaError(documento, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }