public List <EmpresaUsuario> ObtenerUsuariosParaUTP(int nroPaginActual, int filasPorPagina, string nombre)
        {
            List <EmpresaUsuario> lista = new List <EmpresaUsuario>();

            DataTable dtResultado = adEmpresaUsuario.ObtenerUsuariosParaUTP(nroPaginActual, filasPorPagina, nombre);

            //Usuarios>
            foreach (DataRow usuarioBD in dtResultado.Rows)
            {
                EmpresaUsuario empresaUsuario = new EmpresaUsuario();
                empresaUsuario.IdEmpresaUsuario            = Convert.ToInt32(usuarioBD["IdEmpresaUsuario"]);
                empresaUsuario.Empresa.IdEmpresa           = Convert.ToInt32(usuarioBD["IdEmpresa"]);;
                empresaUsuario.Usuario.NombreUsuario       = Convert.ToString(usuarioBD["Usuario"]);
                empresaUsuario.Usuario.Rol.Valor           = Convert.ToString(usuarioBD["UsuarioRolDescripcion"]);
                empresaUsuario.Usuario.EstadoUsuario.Valor = Convert.ToString(usuarioBD["UsuarioEstadoDescripcion"]);
                empresaUsuario.Nombres             = Convert.ToString(usuarioBD["Nombres"]);
                empresaUsuario.Apellidos           = Convert.ToString(usuarioBD["Apellidos"]);
                empresaUsuario.TipoDocumento.Valor = Convert.ToString(usuarioBD["TipoDocumentoDescripcion"]);
                empresaUsuario.NumeroDocumento     = Convert.ToString(usuarioBD["NumeroDocumento"]);
                empresaUsuario.Sexo.Valor          = Convert.ToString(usuarioBD["SexoDescripcion"]);
                empresaUsuario.CorreoElectronico   = Convert.ToString(usuarioBD["CorreoElectronico"]);
                empresaUsuario.TelefonoFijo        = Convert.ToString(usuarioBD["TelefonoFijo"]);
                empresaUsuario.TelefonoCelular     = Convert.ToString(usuarioBD["TelefonoCelular"]);
                empresaUsuario.TelefonoAnexo       = Convert.ToString(usuarioBD["TelefonoAnexo"]);

                empresaUsuario.CantidadTotal = Convert.ToInt32(usuarioBD["CantidadTotal"]);;

                lista.Add(empresaUsuario);
            }

            return(lista);
        }
示例#2
0
        public ActionResult Login(EmpresaUsuario item)
        {
            var dbHelper          = new DataBaseHelper(DataBaseHelper.GetConnection());
            var validate_response = dbHelper.ValidateLogin(item);
            var id_user           = validate_response.EmpresaUsuarioId;
            var user_valid        = id_user != 0;

            //return Json(false);
            if (user_valid)
            {
                var claims = new List <Claim>
                {
                    new Claim(ClaimTypes.Name, item.Login),
                    new Claim(ClaimTypes.UserData, id_user.ToString()),
                    new Claim(ClaimTypes.Sid, validate_response.EmpresaId.ToString())
                };

                var userIdentity = new ClaimsIdentity(claims, "CookieAuthentication");
                HttpContext.GetOwinContext().Authentication.SignIn(userIdentity);

                return(Json(true));
            }

            return(Json(false));
        }
        public ActionResult GenerarToken(string NombreUsuario, string submitButton, string token)
        {
            LNUsuario lnUsuario   = new LNUsuario();
            DataSet   dsResultado = ln.Autenticar_Usuario(NombreUsuario);

            string tipoUsuario = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoUsuario"]);

            if (tipoUsuario == "USEREM")
            {
                switch (submitButton)
                {
                case "mail":
                    var chars  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                    var random = new Random();
                    var result = new string(
                        Enumerable.Repeat(chars, 8)
                        .Select(s => s[random.Next(s.Length)])
                        .ToArray());

                    string ip = Ip();
                    lnUsuario.InsertarToken(result, NombreUsuario, DateTime.Now.AddHours(1), DateTime.Now, ip);

                    Mensaje mensaje = new Mensaje();
                    mensaje.DeUsuarioCorreoElectronico   = "*****@*****.**";
                    mensaje.ParaUsuarioCorreoElectronico = Convert.ToString(dsResultado.Tables[2].Rows[0]["CorreoElectronico"]);     //Administrador UTP
                    mensaje.Asunto       = "Cambio de Contraseña";
                    mensaje.MensajeTexto = "Estimado(a):" + NombreUsuario + "\r\n\r\n" +
                                           "Es grato comunicarnos con usted para informarle que debido la confidencialidad de la información que contiene su cuenta, le hemos generado un token para que valide su información en nuestra intranet.\r\n\r\n" +
                                           "-Token: " + result + "\r\n\r\n" +
                                           Request.Url.GetLeftPart(UriPartial.Authority) + "/#Token" +
                                           "Cordialmente \r\n\r\n" +
                                           "Area de TI";
                    LNCorreo.EnviarCorreo(mensaje);
                    TempData["CorreoExitoso"] = "Se envio el TOKEN a las siguientes cuentas: " + mensaje.ParaUsuarioCorreoElectronico;
                    return(RedirectToAction("Index", "Home"));

                case "Ingresar":
                    Session["Token"] = lnUsuario.ObtenerToken(NombreUsuario);
                    int id = Convert.ToInt32(dsResultado.Tables[2].Rows[0]["IdEmpresa"]);
                    LNEmpresaUsuario           lnEmpresaUsuario = new LNEmpresaUsuario();
                    List <VistaEmpresaUsuario> list             = lnEmpresaUsuario.ObtenerUsuariosPorIdEmpresa(id);

                    EmpresaUsuario empresaUsuario = lnEmpresaUsuario.ObtenerPorIdEmpresaUsuario(Convert.ToInt32(list[0].IdEmpresaUsuario));

                    if (Session["Token"] == null || Session["Token"].ToString() != token)
                    {
                        TempData["TokenNoExitoso"] = "El Token no es correcto.";
                        return(RedirectToAction("Index", "Home"));
                    }
                    return(Json(empresaUsuario));

                default:
                    return(null);
                }
            }

            TempData["TokenNoExitoso"] = "Esta funcionalidad es solo para empresas";
            return(RedirectToAction("Index", "Home"));
        }
示例#4
0
        private void AsociarUsuarioAEmpresa(int empresaID, string usuario)
        {
            EmpresaUsuario eu = new EmpresaUsuario {
                Usuario = usuario
            };

            dbcursos.Empresas.Find(empresaID).Usuarios.Add(eu);
            dbcursos.SaveChanges();
        }
示例#5
0
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // PERFIL ADMIN NAO EXISTE?
                    if (!await _roleManager.RoleExistsAsync("Admin"))
                    {
                        await _roleManager.CreateAsync(new IdentityRole("Admin")); // CRIA ROLE ADMIN
                    }

                    await _userManager.AddToRoleAsync(user, "Admin"); // ASSOCIA USUARIO AO ADMIN

                    Empresa empresa = new Empresa
                    {
                        RazaoSocial = model.RazaoSocial,
                        Cnpj        = model.Cnpj
                    };
                    _context.Empresas.Add(empresa);

                    EmpresaUsuario empresaUsuario = new EmpresaUsuario
                    {
                        EmpresaId = empresa.EmpresaId,
                        OwnerId   = user.Id
                    };
                    _context.EmpresasUsuarios.Add(empresaUsuario);

                    _context.SaveChanges();
                    _logger.LogInformation("Novo Usuário criado com sucesso!");


                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
                    await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl);

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation("User created a new account with password.");
                    return(RedirectToLocal(returnUrl));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
示例#6
0
        internal async override Task <IEmpresaUsuario> IncluirAsync(IEmpresaUsuario entidade)
        {
            contexto = EmpresaContexto.Create(this.optionsBuilder.Options);
            EmpresaUsuario empresaUsuario = ConverterEmpresaUsuario.converterIEmpresaUsuarioParaEmpresaUsuario(entidade);

            await contexto.EmpresasUsuarios.AddAsync(empresaUsuario);

            await contexto.SaveChangesAsync();

            return(ConverterEmpresaUsuario.converterEmpresaUsuarioParaIEmpresaUsuario(empresaUsuario));
        }
示例#7
0
        private static void InsertarEmpresaUsuario(EmpresaUsuario empresasUsuarios)
        {
            RBVDataContext contextoRBV = new RBVDataContext();

            contextoRBV.empresaUsuario.InsertOnSubmit(new empresaUsuario
            {
                UserId    = empresasUsuarios.UserId,
                idEmpresa = empresasUsuarios.IdEmpresa
            });

            contextoRBV.SubmitChanges();
        }
示例#8
0
        internal static IEmpresaUsuario converterEmpresaUsuarioParaIEmpresaUsuario(EmpresaUsuario empresaUsuario)
        {
            IEmpresaUsuario _empresaUsuario = null;

            if (empresaUsuario != null)
            {
                _empresaUsuario           = EmpresaUsuario.Create();
                _empresaUsuario.EmpresaId = empresaUsuario.EmpresaId;
                _empresaUsuario.Key       = empresaUsuario.Key;
                _empresaUsuario.Status    = empresaUsuario.Status;
                _empresaUsuario.UsuarioId = empresaUsuario.UsuarioId;
            }

            return(_empresaUsuario);
        }
        private static EmpresaUsuario converterIEmpresaUsuarioParaEmpresaUsuario(IEmpresaUsuario empresaUsuario)
        {
            EmpresaUsuario _empresaUsuario = null;

            if (empresaUsuario != null)
            {
                _empresaUsuario = EmpresaUsuario.Create();

                _empresaUsuario.EmpresaId = empresaUsuario.EmpresaId;
                _empresaUsuario.Key       = empresaUsuario.Key;
                _empresaUsuario.Status    = empresaUsuario.Status;
                _empresaUsuario.UsuarioId = empresaUsuario.UsuarioId;
            }

            return(_empresaUsuario);
        }
示例#10
0
        public Usuario AddUsuarioDistribuidora(IdentityUser usuarioIdentity, DistribuidoraVM distribuidora, string empresa_Global)
        {
            try
            {
                Usuario usuario       = new Usuario(distribuidora.Nome, true, distribuidora.Cpf.ToString(), usuarioIdentity.Id, EnumPerfil.Distribuidora);
                var     usuariocriado = _usuarioService.Add(usuario);

                EmpresaUsuario empresaUsuario = new EmpresaUsuario(usuariocriado.Id_Usuario, Convert.ToInt32(empresa_Global));
                _empresaUsuarioService.Add(empresaUsuario);

                return(usuariocriado);
            }
            catch (System.Exception)
            {
                throw;
            }
        }
示例#11
0
        public Usuario AddUsuarioTecnico(IdentityUser usuarioIdentity, TecnicoVM tecnico, int id_Endereco, string empresa_Global)
        {
            try
            {
                Usuario usuario = new Usuario(tecnico.Nome, true, tecnico.Cpf.ToString(), usuarioIdentity.Id, EnumPerfil.Tecnico);
                usuario.Id_Endereco = id_Endereco;
                var usuariocriado = _usuarioService.Add(usuario);

                EmpresaUsuario empresaUsuario = new EmpresaUsuario(usuariocriado.Id_Usuario, Convert.ToInt32(empresa_Global));
                _empresaUsuarioService.Add(empresaUsuario);

                return(usuariocriado);
            }
            catch (System.Exception)
            {
                throw;
            }
        }
示例#12
0
        public Usuario AddUsuarioCliente(IdentityUser usuarioIdentity, ClienteVM cliente, int id_Endereco, string empresa_Global)
        {
            try
            {
                Usuario usuario = new Usuario(cliente.Nome, true, cliente.Cnpj.ToString(), usuarioIdentity.Id, EnumPerfil.Cliente);
                usuario.Id_Endereco = id_Endereco;
                var usuariocriado = _usuarioService.Add(usuario);

                EmpresaUsuario empresaUsuario = new EmpresaUsuario(usuariocriado.Id_Usuario, Convert.ToInt32(empresa_Global));
                _empresaUsuarioService.Add(empresaUsuario);

                return(usuariocriado);
            }
            catch (System.Exception)
            {
                throw;
            }
        }
        public void Actualizar(EmpresaUsuario empresaUsuario, String password)
        {
            using (SqlConnection conexion = new SqlConnection(cadenaConexion))
            {
                SqlCommand cmd = new SqlCommand();

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "EmpresaUsuario_Actualizar";

                //Parámetros:
                cmd.Parameters.Add(new SqlParameter("@IdEmpresaUsuario", empresaUsuario.IdEmpresaUsuario));
                cmd.Parameters.Add(new SqlParameter("@Usuario", empresaUsuario.NombreUsuario));
                cmd.Parameters.Add(new SqlParameter("@Nombres", empresaUsuario.Nombres));
                cmd.Parameters.Add(new SqlParameter("@Apellidos", empresaUsuario.Apellidos));
                cmd.Parameters.Add(new SqlParameter("@Sexo", empresaUsuario.SexoIdListaValor));
                cmd.Parameters.Add(new SqlParameter("@TipoDocumento", empresaUsuario.TipoDocumentoIdListaValor));
                cmd.Parameters.Add(new SqlParameter("@NumeroDocumento", empresaUsuario.NumeroDocumento));
                cmd.Parameters.Add(new SqlParameter("@IdEmpresaLocacion", empresaUsuario.IdEmpresaLocacion));
                cmd.Parameters.Add(new SqlParameter("@CorreoElectronico", empresaUsuario.CorreoElectronico));
                cmd.Parameters.Add(new SqlParameter("@TelefonoFijo", empresaUsuario.TelefonoFijo));
                cmd.Parameters.Add(new SqlParameter("@TelefonoAnexo", empresaUsuario.TelefonoAnexo));
                cmd.Parameters.Add(new SqlParameter("@TelefonoCelular", empresaUsuario.TelefonoCelular));
                cmd.Parameters.Add(new SqlParameter("@Rol", empresaUsuario.RolIdListaValor));
                cmd.Parameters.Add(new SqlParameter("@EstadoUsuario", empresaUsuario.EstadoUsuarioIdListaValor));
                if (password != null)
                {
                    cmd.Parameters.Add(new SqlParameter("@Contrasena", password));
                }
                else
                {
                    cmd.Parameters.Add(new SqlParameter("@Contrasena", ""));
                }
                cmd.Parameters.Add(new SqlParameter("@ModificadoPor", empresaUsuario.ModificadoPor));

                cmd.Connection = conexion;

                conexion.Open();

                cmd.ExecuteNonQuery();

                conexion.Close();
            }
        }
        public void Actualizar(EmpresaUsuario empresaUsuario)
        {
            String spassword = null;

            if (empresaUsuario.TipoDocumentoIdListaValor == null)
            {
                empresaUsuario.TipoDocumentoIdListaValor = "";
            }
            if (empresaUsuario.NumeroDocumento == null)
            {
                empresaUsuario.NumeroDocumento = "";
            }
            if (empresaUsuario.SexoIdListaValor == null)
            {
                empresaUsuario.SexoIdListaValor = "";
            }
            if (empresaUsuario.TelefonoFijo == null)
            {
                empresaUsuario.TelefonoFijo = "";
            }
            if (empresaUsuario.TelefonoAnexo == null)
            {
                empresaUsuario.TelefonoAnexo = "";
            }
            if (empresaUsuario.TelefonoCelular == null)
            {
                empresaUsuario.TelefonoCelular = "";
            }

            LNAutenticarUsuario ln          = new LNAutenticarUsuario();
            DataSet             dsResultado = ln.Autenticar_Usuario(empresaUsuario.NombreUsuario);
            string contrasenaDecodificada   = Convert.ToString(dsResultado.Tables[0].Rows[0]["Contrasena"]);

            if (empresaUsuario.Contrasena != contrasenaDecodificada)
            {
                byte[] bytes    = Encoding.Default.GetBytes(empresaUsuario.Contrasena);
                SHA1   sha      = new SHA1CryptoServiceProvider();
                byte[] password = sha.ComputeHash(bytes);
                spassword = Encoding.Default.GetString(password);
            }
            adEmpresaUsuario.Actualizar(empresaUsuario, spassword);
        }
        public EmpresaUsuario ObtenerPorIdEmpresaUsuario(int idEmpresaUsuario)
        {
            EmpresaUsuario empresaUsuario = new EmpresaUsuario();

            DataTable dtResultado = this.adEmpresaUsuario.ObtenerPorIdEmpresaUsuario(idEmpresaUsuario);

            //Usuarios>
            foreach (DataRow usuarioBD in dtResultado.Rows)
            {
                empresaUsuario = new EmpresaUsuario();
                empresaUsuario.IdEmpresaUsuario            = Convert.ToInt32(usuarioBD["IdEmpresaUsuario"]);
                empresaUsuario.Empresa.IdEmpresa           = Convert.ToInt32(usuarioBD["IdEmpresa"]);
                empresaUsuario.NombreUsuario               = Convert.ToString(usuarioBD["Usuario"]);
                empresaUsuario.Usuario.NombreUsuario       = Convert.ToString(usuarioBD["Usuario"]);
                empresaUsuario.RolIdListaValor             = Convert.ToString(usuarioBD["Rol"]);
                empresaUsuario.Usuario.Rol.Valor           = Convert.ToString(usuarioBD["UsuarioRolDescripcion"]);
                empresaUsuario.Usuario.EstadoUsuario.Valor = Convert.ToString(usuarioBD["UsuarioEstadoDescripcion"]);
                empresaUsuario.Nombres                   = Convert.ToString(usuarioBD["Nombres"]);
                empresaUsuario.Apellidos                 = Convert.ToString(usuarioBD["Apellidos"]);
                empresaUsuario.IdEmpresaLocacion         = Convert.ToInt32(usuarioBD["IdEmpresaLocacion"]);
                empresaUsuario.TipoDocumentoIdListaValor = Convert.ToString(usuarioBD["TipoDocumento"]);
                empresaUsuario.TipoDocumento.Valor       = Convert.ToString(usuarioBD["TipoDocumentoDescripcion"]);
                empresaUsuario.NumeroDocumento           = Convert.ToString(usuarioBD["NumeroDocumento"]);
                empresaUsuario.SexoIdListaValor          = Convert.ToString(usuarioBD["Sexo"]);
                empresaUsuario.Sexo.Valor                = Convert.ToString(usuarioBD["SexoDescripcion"]);
                empresaUsuario.CorreoElectronico         = Convert.ToString(usuarioBD["CorreoElectronico"]);
                empresaUsuario.TelefonoFijo              = Convert.ToString(usuarioBD["TelefonoFijo"]);
                empresaUsuario.TelefonoCelular           = Convert.ToString(usuarioBD["TelefonoCelular"]);
                empresaUsuario.TelefonoAnexo             = Convert.ToString(usuarioBD["TelefonoAnexo"]);
                empresaUsuario.EstadoUsuarioIdListaValor = Convert.ToString(usuarioBD["Estado"]);
                empresaUsuario.Contrasena                = Convert.ToString(usuarioBD["Contrasena"]);
                empresaUsuario.RepetirContrasena         = Convert.ToString(usuarioBD["Contrasena"]);

                break; //sólo hay uno.
            }

            return(empresaUsuario);
        }
        public void Insertar(EmpresaUsuario empresaUsuario)
        {
            String spassword = null;

            if (empresaUsuario.TipoDocumentoIdListaValor == null)
            {
                empresaUsuario.TipoDocumentoIdListaValor = "";
            }
            if (empresaUsuario.NumeroDocumento == null)
            {
                empresaUsuario.NumeroDocumento = "";
            }
            if (empresaUsuario.SexoIdListaValor == null)
            {
                empresaUsuario.SexoIdListaValor = "";
            }
            if (empresaUsuario.TelefonoFijo == null)
            {
                empresaUsuario.TelefonoFijo = "";
            }
            if (empresaUsuario.TelefonoAnexo == null)
            {
                empresaUsuario.TelefonoAnexo = "";
            }
            if (empresaUsuario.TelefonoCelular == null)
            {
                empresaUsuario.TelefonoCelular = "";
            }

            byte[] bytes = Encoding.Default.GetBytes(empresaUsuario.Contrasena);
            SHA1   sha   = new SHA1CryptoServiceProvider();

            byte[] password = sha.ComputeHash(bytes);
            spassword = Encoding.Default.GetString(password);

            adEmpresaUsuario.Insertar(empresaUsuario, spassword);
        }
        //-----

        public JsonResult verificarTokenUsuario(string NombreUsuario, string submitButton, string token)
        {
            String    strMensaje  = "";
            String    tipoUsuario = "";
            LNUsuario lnUsuario   = new LNUsuario();
            DataSet   dsResultado = ln.Autenticar_Usuario(NombreUsuario);

            if ((dsResultado != null) && dsResultado.Tables.Count > 0 && dsResultado.Tables[0].Rows.Count > 0)
            {
                tipoUsuario = Convert.ToString(dsResultado.Tables[0].Rows[0]["TipoUsuario"]);
            }

            if (String.IsNullOrEmpty(tipoUsuario))
            {
                strMensaje = "El usuario ingresado no es válido";
            }
            if (tipoUsuario == "USEREM")
            {
                Session["Token"] = lnUsuario.ObtenerToken(NombreUsuario);
                int id = Convert.ToInt32(dsResultado.Tables[2].Rows[0]["IdEmpresa"]);

                LNEmpresaUsuario           lnEmpresaUsuario = new LNEmpresaUsuario();
                List <VistaEmpresaUsuario> list             = lnEmpresaUsuario.ObtenerUsuariosPorIdEmpresa(id);

                EmpresaUsuario empresaUsuario = lnEmpresaUsuario.ObtenerPorIdEmpresaUsuario(Convert.ToInt32(list[0].IdEmpresaUsuario));

                if (Session["Token"] == null || Session["Token"].ToString() != token)
                {
                    strMensaje = "El Token no es correcto.";
                }
            }
            if (tipoUsuario != "USEREM" && !String.IsNullOrEmpty(tipoUsuario))
            {
                strMensaje = "Esta funcionalidad es solo para empresas";
            }
            return(Json(strMensaje));
        }
示例#18
0
        public Empresa ObtenerDatosEmpresaPorId(int idEmpresa)
        {
            Empresa empresa = new Empresa();

            DataSet dsResultado = adEmpresa.ObtenerDatosEmpresaPorId(idEmpresa);

            //Datos generales de la empresa.
            if (dsResultado.Tables.Count > 0)
            {
                if (dsResultado.Tables[0].Rows.Count > 0)
                {
                    empresa.IdEmpresa                      = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["IdEmpresa"]);
                    empresa.NombreComercial                = Convert.ToString(dsResultado.Tables[0].Rows[0]["NombreComercial"]);
                    empresa.RazonSocial                    = Convert.ToString(dsResultado.Tables[0].Rows[0]["RazonSocial"]);
                    empresa.Pais.Valor                     = Convert.ToString(dsResultado.Tables[0].Rows[0]["PaisDescripcion"]);
                    empresa.IdentificadorTributario        = Convert.ToString(dsResultado.Tables[0].Rows[0]["IdentificadorTributario"]);
                    empresa.DescripcionEmpresa             = Convert.ToString(dsResultado.Tables[0].Rows[0]["DescripcionEmpresa"]);
                    empresa.LinkVideo                      = Convert.ToString(dsResultado.Tables[0].Rows[0]["LinkVideo"]);
                    empresa.AnoCreacion                    = Convert.ToInt32(dsResultado.Tables[0].Rows[0]["AnoCreacion"] == System.DBNull.Value ? null : dsResultado.Tables[0].Rows[0]["AnoCreacion"]);
                    empresa.NumeroEmpleados.Valor          = Convert.ToString(dsResultado.Tables[0].Rows[0]["NumeroEmpleadosDescripcion"]);
                    empresa.EstadoEmpresa.Valor            = Convert.ToString(dsResultado.Tables[0].Rows[0]["EstadoEmpresaDescripcion"]);
                    empresa.SectorEmpresarial.Valor        = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarialDescripcion"]);
                    empresa.SectorEmpresarial2.Valor       = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarial2Descripcion"]);
                    empresa.SectorEmpresarial3.Valor       = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarial3Descripcion"]);
                    empresa.PaisIdListaValor               = Convert.ToString(dsResultado.Tables[0].Rows[0]["Pais"]);
                    empresa.NumeroEmpleadosIdListaValor    = Convert.ToString(dsResultado.Tables[0].Rows[0]["NumeroEmpleados"]);
                    empresa.SectorEmpresarial1IdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarial"]);
                    empresa.SectorEmpresarial2IdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarial2"]);
                    empresa.SectorEmpresarial3IdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["SectorEmpresarial3"]);
                    empresa.SitioWeb           = Convert.ToString(dsResultado.Tables[0].Rows[0]["SitioWeb"]);
                    empresa.Clasificacion      = Convert.ToString(dsResultado.Tables[0].Rows[0]["Clasificación"]);
                    empresa.NivelDeRelacion    = Convert.ToString(dsResultado.Tables[0].Rows[0]["NivelDeRelacion"]);
                    empresa.FacultadPrincipal  = Convert.ToString(dsResultado.Tables[0].Rows[0]["FacultadPrincipal"]);
                    empresa.FacultadSecundaria = Convert.ToString(dsResultado.Tables[0].Rows[0]["FacultadSecundaria"]);
                    empresa.NivelDeFacturacion = Convert.ToDecimal(dsResultado.Tables[0].Rows[0]["NivelDeFacturacion"] == DBNull.Value ? null : dsResultado.Tables[0].Rows[0]["NivelDeFacturacion"]);
                    empresa.Comentarios        = Convert.ToString(dsResultado.Tables[0].Rows[0]["Comentarios"]);
                    //empresa.LogoEmpresa = (byte[])dsResultado.Tables[0].Rows[0]["LogoEmpresa"];

                    empresa.LogoEmpresa = dsResultado.Tables[0].Rows[0]["LogoEmpresa"] == DBNull.Value ? null : (byte[])dsResultado.Tables[0].Rows[0]["LogoEmpresa"];



                    empresa.SitioWeb      = Convert.ToString(dsResultado.Tables[0].Rows[0]["SitioWeb"]);
                    empresa.FechaCreacion = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaCreacion"]);

                    if (dsResultado.Tables[0].Rows[0]["FechaModificacion"] != DBNull.Value)
                    {
                        empresa.FechaModificacion = Convert.ToDateTime(dsResultado.Tables[0].Rows[0]["FechaModificacion"]);
                    }

                    empresa.CreadoPor          = Convert.ToString(dsResultado.Tables[0].Rows[0]["CreadoPor"]);
                    empresa.ModificadoPor      = Convert.ToString(dsResultado.Tables[0].Rows[0]["ModificadoPor"]);
                    empresa.EstadoIdListaValor = Convert.ToString(dsResultado.Tables[0].Rows[0]["EstadoEmpresa"]);
                    empresa.UsuarioEC          = Convert.ToString(dsResultado.Tables[0].Rows[0]["UsuarioEC"]);

                    empresa.PosicionEnSector = Convert.ToString(dsResultado.Tables[0].Rows[0]["PosicionEnSector"]);
                }
            }

            //Locaciones
            foreach (DataRow locacionBD in dsResultado.Tables[1].Rows)
            {
                EmpresaLocacion empresaLocacion = new EmpresaLocacion();
                empresaLocacion.IdEmpresaLocacion     = Convert.ToInt32(locacionBD["IdEmpresaLocacion"]);
                empresaLocacion.IdEmpresa             = Convert.ToInt32(locacionBD["IdEmpresa"]);
                empresaLocacion.TipoLocacion.Valor    = Convert.ToString(locacionBD["TipoLocacionDescripcion"]);
                empresaLocacion.NombreLocacion        = Convert.ToString(locacionBD["NombreLocacion"]);
                empresaLocacion.CorreoElectronico     = Convert.ToString(locacionBD["CorreoElectronico"]);
                empresaLocacion.TelefonoFijo          = Convert.ToString(locacionBD["TelefonoFijo"]);
                empresaLocacion.Direccion             = Convert.ToString(locacionBD["Direccion"]);
                empresaLocacion.DireccionDistrito     = Convert.ToString(locacionBD["DireccionDistrito"]);
                empresaLocacion.DireccionCiudad       = Convert.ToString(locacionBD["DireccionCiudad"]);
                empresaLocacion.DireccionDepartamento = Convert.ToString(locacionBD["DireccionDepartamento"]);
                empresaLocacion.EstadoLocacion.Valor  = Convert.ToString(locacionBD["EstadoLocacionDescripcion"]);

                empresa.Locaciones.Add(empresaLocacion);
            }

            //Usuarios>
            foreach (DataRow usuarioBD in dsResultado.Tables[2].Rows)
            {
                EmpresaUsuario empresaUsuario = new EmpresaUsuario();
                empresaUsuario.IdEmpresaUsuario            = Convert.ToInt32(usuarioBD["IdEmpresaUsuario"]);
                empresaUsuario.Empresa.IdEmpresa           = Convert.ToInt32(usuarioBD["IdEmpresa"]);;
                empresaUsuario.Usuario.NombreUsuario       = Convert.ToString(usuarioBD["Usuario"]);
                empresaUsuario.Usuario.Rol.Valor           = Convert.ToString(usuarioBD["UsuarioRolDescripcion"]);
                empresaUsuario.Usuario.EstadoUsuario.Valor = Convert.ToString(usuarioBD["UsuarioEstadoDescripcion"]);
                empresaUsuario.Nombres             = Convert.ToString(usuarioBD["Nombres"]);
                empresaUsuario.Apellidos           = Convert.ToString(usuarioBD["Apellidos"]);
                empresaUsuario.TipoDocumento.Valor = Convert.ToString(usuarioBD["TipoDocumentoDescripcion"]);
                empresaUsuario.NumeroDocumento     = Convert.ToString(usuarioBD["NumeroDocumento"]);
                empresaUsuario.Sexo.Valor          = Convert.ToString(usuarioBD["SexoDescripcion"]);
                empresaUsuario.CorreoElectronico   = Convert.ToString(usuarioBD["CorreoElectronico"]);
                empresaUsuario.TelefonoFijo        = Convert.ToString(usuarioBD["TelefonoFijo"]);
                empresaUsuario.TelefonoCelular     = Convert.ToString(usuarioBD["TelefonoCelular"]);
                empresaUsuario.TelefonoAnexo       = Convert.ToString(usuarioBD["TelefonoAnexo"]);

                empresa.Usuarios.Add(empresaUsuario);
            }

            return(empresa);
        }
示例#19
0
        public async Task <IActionResult> NovoUsuario(UsuarioIdentityVM usuario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string empresa_Global = Request.Cookies["empresa_global"];

                    IdentityUser userIdentity = CarregarUsuarioIdentity(new IdentityUser(), usuario);

                    var resultIdentity = await _userManager.CreateAsync(userIdentity, usuario.Password);

                    if (resultIdentity.Succeeded)
                    {
                        var usuarioEntity = _mapper.Map <Usuario>(usuario);
                        var userGetId     = await _userManager.FindByNameAsync(usuario.UserName);

                        usuarioEntity.IdentityUser = userGetId.Id;
                        _usuarioService.Add(usuarioEntity);

                        var resultPerfil = await _userManager.AddToRoleAsync(userIdentity, EnumHelper.GetName(usuario.Perfil));

                        if (resultPerfil.Succeeded)
                        {
                            var            empresa  = _empresaService.GetById(Convert.ToInt32(empresa_Global));
                            EmpresaUsuario eUsuario = new EmpresaUsuario(usuarioEntity.Id_Usuario, empresa.IdEmpresa);
                            _empresaUsuarioService.Add(eUsuario);
                            Endereco endereco = new Endereco(usuario.Endereco_Complemento, usuario.LinkGoogleMaps);
                            var      end      = _enderecoService.Add(endereco);
                            usuarioEntity.Id_Endereco = end.Id_Endereco;
                            _usuarioService.Update(usuarioEntity);

                            var resultRole = await _userManager.AddClaimsAsync(userGetId, new Claim[] {
                                new Claim(EnumTypeClaims.Perfil.ToString(), usuario.Perfil.ToString()),
                                new Claim(EnumTypeClaims.Nome.ToString(), usuarioEntity.Nome),
                                new Claim(EnumTypeClaims.Id_Usuario.ToString(), usuarioEntity.Id_Usuario.ToString())
                            });

                            if (resultRole.Succeeded)
                            {
                                return(Redirect("Index"));
                            }


                            return(View(usuario));
                        }
                    }

                    //StringBuilder errors = new StringBuilder();

                    //foreach (var error in resultIdentity.Errors)
                    //{
                    //    errors.AppendLine(error.Description);
                    //}

                    return(View(usuario));
                }
                return(View(usuario));
            }
            catch (Exception ex)
            {
                return(Json(ex));

                throw;
            }
        }