Exemplo n.º 1
0
        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}"));
            }
        }
Exemplo n.º 2
0
        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}"));
            }
        }
Exemplo n.º 3
0
        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}"));
            }
        }