public async Task <IActionResult> Gestionar(Ciudad ciudad) { try { ViewBag.accion = ciudad.IdCiudad == 0 ? "Crear" : "Editar"; var UsuarioAutenticado = await _userManager.GetUserAsync(User); if (ModelState.IsValid) { var existeRegistro = false; if (ciudad.IdCiudad == 0) { if (!await db.Ciudad.AnyAsync(c => c.Nombre.ToUpper().Trim() == ciudad.Nombre.ToUpper().Trim() && c.IdEmpresa == UsuarioAutenticado.IdEmpresa)) { db.Add(ciudad); } else { existeRegistro = true; } } else { if (!await db.Ciudad.Where(c => c.Nombre.ToUpper().Trim() == ciudad.Nombre.ToUpper().Trim() && c.IdEmpresa == UsuarioAutenticado.IdEmpresa).AnyAsync(c => c.IdCiudad != ciudad.IdCiudad)) { db.Update(ciudad); } else { existeRegistro = true; } } if (!existeRegistro) { await db.SaveChangesAsync(); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } else { if (User.IsInRole(Perfiles.AdministradorEmpresa)) { ViewData["Empresas"] = new SelectList(db.Empresa.Where(x => x.IdEmpresa == UsuarioAutenticado.IdEmpresa).OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre"); } else { ViewData["Empresas"] = new SelectList(db.Empresa.OrderBy(x => x.Nombre).ToList(), "IdEmpresa", "Nombre"); } return(this.VistaError(ciudad, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}")); } } return(this.VistaError(ciudad, $"{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"; Action accion = async() => { ViewData["RequisitoLegal"] = new SelectList(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.Nombre }).ToListAsync(), "IdRequisitoLegal", "Nombre"); }; 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 { return(this.VistaError(documento, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}", accion)); } } return(this.VistaError(documento, $"{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"; 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(Empresa empresa) { try { ViewBag.accion = empresa.IdEmpresa == 0 ? "Crear" : "Editar"; if (ModelState.IsValid) { var existeRegistro = false; if (empresa.IdEmpresa == 0) { if (!await db.Empresa.AnyAsync(c => c.Nombre.ToUpper().Trim() == empresa.Nombre.ToUpper().Trim())) { db.Add(empresa); } else { existeRegistro = true; } } else { if (!await db.Empresa.Where(c => c.Nombre.ToUpper().Trim() == empresa.Nombre.ToUpper().Trim()).AnyAsync(c => c.IdEmpresa != empresa.IdEmpresa)) { db.Update(empresa); } else { existeRegistro = true; } } if (!existeRegistro) { await db.SaveChangesAsync(); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } else { return(this.VistaError(empresa, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}")); } } return(this.VistaError(empresa, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task<IActionResult> Gestionar(Ciudad ciudad) { try { ViewBag.accion = ciudad.IdCiudad == 0 ? "Crear" : "Editar"; if (ModelState.IsValid) { var existeRegistro = false; if (ciudad.IdCiudad == 0) { if (!await db.Ciudad.AnyAsync(c => c.Nombre.ToUpper().Trim() == ciudad.Nombre.ToUpper().Trim())) db.Add(ciudad); else existeRegistro = true; } else { if (!await db.Ciudad.Where(c => c.Nombre.ToUpper().Trim() == ciudad.Nombre.ToUpper().Trim()).AnyAsync(c => c.IdCiudad != ciudad.IdCiudad)) db.Update(ciudad); else existeRegistro = true; } if (!existeRegistro) { await db.SaveChangesAsync(); return this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"); } else return this.VistaError(ciudad, $"{Mensaje.Error}|{Mensaje.ExisteRegistro}"); } return this.VistaError(ciudad, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}"); } 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(Requisito requisito, IFormFile file) { try { if (requisito.IdStatus == EstadoRequisito.Terminado && file == null) { ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Proyecto"] = new SelectList(await db.Proyecto.OrderBy(c => c.Nombre).ToListAsync(), "IdProyecto", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); var requisitoSalida = await db.Requisito.Include(c => c.DocumentoRequisito).Include(x => x.Accion).Include(c => c.Documento).ThenInclude(c => c.RequisitoLegal.OrganismoControl).FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); var acciones = await db.Accion.Where(x => x.IdRequisito == requisito.IdRequisito).ToListAsync(); requisitoSalida.Accion = acciones; return(this.VistaError(requisitoSalida, $"{Mensaje.Error}|{Mensaje.CargarArchivoEstadoTerminado}")); } Requisito miRequisito = new Requisito(); ViewBag.accion = requisito.IdRequisito == 0 ? "Crear" : "Editar"; var tt = Request.Form; ModelState.Remove("Documento.Nombre"); ModelState.Remove("Documento.Tipo"); ModelState.Remove("Documento.Cantidad"); ModelState.Remove("Documento.RequisitoLegal.Nombre"); if (ModelState.IsValid) { var nuevoRegistro = false; if (requisito.IdRequisito == 0) { miRequisito = new Requisito { IdDocumento = requisito.IdDocumento, IdCiudad = requisito.IdCiudad, Criticidad = requisito.Criticidad, IdProceso = requisito.IdProceso, IdProyecto = requisito.IdProyecto, IdActorDuennoProceso = requisito.IdActorDuennoProceso, IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg, IdActorCustodioDocumento = requisito.IdActorCustodioDocumento, FechaCumplimiento = requisito.FechaCumplimiento, FechaCaducidad = requisito.FechaCaducidad, IdStatus = requisito.IdStatus, DuracionTramite = requisito.DuracionTramite, DiasNotificacion = requisito.DiasNotificacion, EmailNotificacion1 = requisito.EmailNotificacion1, EmailNotificacion2 = requisito.EmailNotificacion2, Observaciones = requisito.Observaciones, NotificacionEnviada = false }; db.Add(miRequisito); nuevoRegistro = true; } else { miRequisito = await db.Requisito.FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); miRequisito.IdDocumento = requisito.IdDocumento; miRequisito.IdCiudad = requisito.IdCiudad; miRequisito.Criticidad = requisito.Criticidad; miRequisito.IdProceso = requisito.IdProceso; miRequisito.IdProyecto = requisito.IdProyecto; miRequisito.IdActorDuennoProceso = requisito.IdActorDuennoProceso; miRequisito.IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg; miRequisito.IdActorCustodioDocumento = requisito.IdActorCustodioDocumento; miRequisito.FechaCumplimiento = requisito.FechaCumplimiento; miRequisito.FechaCaducidad = requisito.FechaCaducidad; miRequisito.IdStatus = requisito.IdStatus; miRequisito.DuracionTramite = requisito.DuracionTramite; miRequisito.DiasNotificacion = requisito.DiasNotificacion; miRequisito.EmailNotificacion1 = requisito.EmailNotificacion1; miRequisito.EmailNotificacion2 = requisito.EmailNotificacion2; miRequisito.Observaciones = requisito.Observaciones; } await db.SaveChangesAsync(); var responseFile = true; if (file != null) { byte[] data; using (var br = new BinaryReader(file.OpenReadStream())) data = br.ReadBytes((int)file.OpenReadStream().Length); if (data.Length > 0) { var activoFijoDocumentoTransfer = new DocumentoRequisitoTransfer { Nombre = file.FileName, Fichero = data, IdRequisito = miRequisito.IdRequisito }; responseFile = await uploadFileService.UploadFiles(activoFijoDocumentoTransfer); } } if (requisito.IdStatus != requisito.IdStatusAnterior && requisito.IdStatusAnterior == EstadoRequisito.Terminado) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionNoFinalizado(url, emailSender, db); } if (requisito.IdStatus == EstadoRequisito.Terminado) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionRequisitoTerminado(userManager, url, emailSender, db); } if (nuevoRegistro) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionRequisitoCreacion(url, emailSender, db); } await miRequisito.EnviarEmailNotificaion(userManager, emailSender, db); return(this.Redireccionar(responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}", "Gestionar", new { id = miRequisito.IdRequisito })); // return this.Redireccionar(,responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}"); } ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Proyecto"] = new SelectList(await db.Proyecto.OrderBy(c => c.Nombre).ToListAsync(), "IdProyecto", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); return(this.VistaError(requisito, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task <IActionResult> Gestionar(Requisito requisito, IFormFile file) { try { ViewBag.accion = requisito.IdRequisito == 0 ? "Crear" : "Editar"; var tt = Request.Form; ModelState.Remove("Documento.Nombre"); ModelState.Remove("Documento.RequisitoLegal.Nombre"); if (ModelState.IsValid) { if (requisito.IdRequisito == 0) { db.Add(new Requisito { IdDocumento = requisito.IdDocumento, IdCiudad = requisito.IdCiudad, IdProceso = requisito.IdProceso, IdActorDuennoProceso = requisito.IdActorDuennoProceso, IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg, IdActorCustodioDocumento = requisito.IdActorCustodioDocumento, FechaCumplimiento = requisito.FechaCumplimiento, FechaCaducidad = requisito.FechaCaducidad, IdStatus = requisito.IdStatus, DuracionTramite = requisito.DuracionTramite, DiasNotificacion = requisito.DiasNotificacion, EmailNotificacion1 = requisito.EmailNotificacion1, EmailNotificacion2 = requisito.EmailNotificacion2, Observaciones = requisito.Observaciones, NotificacionEnviada = false }); } else { var requisitoActualizar = await db.Requisito.FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); requisitoActualizar.IdDocumento = requisito.IdDocumento; requisitoActualizar.IdCiudad = requisito.IdCiudad; requisitoActualizar.IdProceso = requisito.IdProceso; requisitoActualizar.IdActorDuennoProceso = requisito.IdActorDuennoProceso; requisitoActualizar.IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg; requisitoActualizar.IdActorCustodioDocumento = requisito.IdActorCustodioDocumento; requisitoActualizar.FechaCumplimiento = requisito.FechaCumplimiento; requisitoActualizar.FechaCaducidad = requisito.FechaCaducidad; requisitoActualizar.IdStatus = requisito.IdStatus; requisitoActualizar.DuracionTramite = requisito.DuracionTramite; requisitoActualizar.DiasNotificacion = requisito.DiasNotificacion; requisitoActualizar.EmailNotificacion1 = requisito.EmailNotificacion1; requisitoActualizar.EmailNotificacion2 = requisito.EmailNotificacion2; requisitoActualizar.Observaciones = requisito.Observaciones; } await db.SaveChangesAsync(); var responseFile = true; if (file != null) { byte[] data; using (var br = new BinaryReader(file.OpenReadStream())) data = br.ReadBytes((int)file.OpenReadStream().Length); if (data.Length > 0) { var activoFijoDocumentoTransfer = new DocumentoRequisitoTransfer { Nombre = file.FileName, Fichero = data, IdRequisito = requisito.IdRequisito }; responseFile = await uploadFileService.UploadFiles(activoFijoDocumentoTransfer); } } await requisito.EnviarEmailNotificaion(emailSender, db); return(this.Redireccionar(responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}")); } ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); return(this.VistaError(requisito, $"{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}")); } }