Ejemplo n.º 1
0
        public string MantemUsuario(Indigo_Usuario usuario)
        {
            var retorno = "";
            Indigo_EstruturaFluxo estrExiste = new Indigo_EstruturaFluxo();

            try
            {
                var context   = new Indigo_Controle_Licenca();
                var usuExiste = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Login == usuario.usr_Login);

                if (usuExiste != null)
                {
                    if (usuario.usr_Senha != null)
                    {
                        usuExiste.usr_Senha = usuario.usr_Senha;
                    }

                    usuExiste.usr_Login       = usuario.usr_Login.TrimEnd();
                    usuExiste.usr_Nome        = usuario.usr_Nome.TrimEnd();
                    usuExiste.usr_Email       = usuario.usr_Email.TrimEnd();
                    usuExiste.usr_Tel         = usuario.usr_Tel.TrimEnd();
                    usuExiste.fnc_id          = usuario.fnc_id;
                    usuExiste.usr_imagePerfil = usuario.usr_imagePerfil;

                    context.Indigo_Usuario.AddOrUpdate(usuExiste);
                    context.SaveChanges();

                    var atualizaNomeUsuario = context.Indigo_EstruturaFluxo.Where(x => x.estrusr_id == usuExiste.usr_Id).ToList();

                    foreach (var reg in atualizaNomeUsuario)
                    {
                        var estrNomeA = new Indigo_EstruturaFluxo();
                        estrNomeA.estrusr_id = reg.estrusr_id;
                        estrNomeA.estr_Nome  = usuario.usr_Nome;
                        estrNomeA.estr_id    = reg.estr_id;
                        estrNomeA.usr_id     = reg.usr_id;
                        estrNomeA.estr_apr   = reg.estr_apr;
                        context.Indigo_EstruturaFluxo.AddOrUpdate(estrNomeA);
                        context.SaveChanges();
                    }


                    retorno = "Usuário alterado com Sucesso !";
                }
            }
            catch (Exception ex)
            {
                return(String.Format("Erro: {0}", ex.Message));
            }

            return(retorno);
        }
Ejemplo n.º 2
0
 public string CriaEstrutura(Indigo_EstruturaFluxo estrutura)
 {
     try
     {
         var context = new Indigo_Controle_Licenca();
         context.Indigo_EstruturaFluxo.AddOrUpdate(estrutura);
         context.SaveChanges();
         return("Estrutura salva com sucesso!");
     }
     catch (Exception ex)
     {
         return(String.Format("Erro ao salvar o Projeto {0}", ex.Message));
     }
 }
Ejemplo n.º 3
0
        public ActionResult MantemUsuario(string nome, string login, int funcao, string acessos, string email, int estrutura, string Tel, int Aprova, int visualizaEstr, string ImagemPerfil, int pipe, string perfil)
        {
            string path_img = "";

            try
            {
                if (ImagemPerfil != "")
                {
                    char[] dado     = ImagemPerfil.ToCharArray();
                    string extensao = "";
                    for (int i = 0; i < dado.Length; i++)
                    {
                        if (dado[i] != ',')
                        {
                            extensao += dado[i];
                        }
                        else
                        {
                            break;
                        }
                    }
                    char[] dado_ex = extensao.ToArray();
                    string tipo    = "";
                    for (int i = 0; i < dado_ex.Length; i++)
                    {
                        if (dado_ex[i] != '/')
                        {
                            tipo += dado_ex[i];
                        }
                        else
                        {
                            break;
                        }
                    }
                    ImagemPerfil = ImagemPerfil.Replace(extensao + ",", "");
                    byte[] imagebytes = Convert.FromBase64String(ImagemPerfil);
                    using (MemoryStream ms = new MemoryStream(imagebytes, 0, imagebytes.Length))
                    {
                        ms.Write(imagebytes, 0, imagebytes.Length);
                        System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
                        path_img = "../Images/Perfil/" + login + "." + extensao.Replace(tipo + "/", "").Replace(";base64", "");
                        Bitmap bmp = new Bitmap(image);
                        bmp.Save(Server.MapPath(path_img));
                    }
                }
                var  context   = new Indigo_Controle_Licenca();
                var  usuExiste = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Login == login);
                bool existe    = false;
                if (usuExiste != null)
                {
                    existe = true;
                }
                var user = new Indigo_Usuario
                {
                    usr_Login         = login,
                    usr_Nome          = nome,
                    usr_Email         = email,
                    fnc_id            = funcao,
                    usr_Tel           = Tel,
                    estr_id           = estrutura,
                    usr_VerEstruturas = visualizaEstr,
                    usr_imagePerfil   = path_img,
                    usr_PermissaoPipe = pipe,
                    usr_Perfil        = perfil
                };
                //Acessos -> need to be modified
                if (acessos == null)
                {
                    return(base.Json(new { Result = "Selecione pelo menos um acesso para o usuário!" }, 0));
                }
                var listAcesso = acessos.Split(',');
                var usuEstr    = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Id == estrutura);
                if (estrutura == 0)
                {
                    return(base.Json(new { Result = "Selecione o mesmo usuário caso ele não tenha estrutura!" }, 0));
                }
                if (estrutura == 0)
                {
                    estrutura = user.usr_Id;
                    usuEstr   = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Id == estrutura);
                }
                var estr = new Indigo_EstruturaFluxo();
                estr.estrusr_id = estrutura;
                estr.estr_Nome  = usuEstr.usr_Nome;
                estr.estr_apr   = Aprova;
                var retorno = dataInterface.MantemUsuario(user, listAcesso, estr);
                if (existe == false)
                {
                    NovoUsuario(user);
                }
                return(base.Json(new { Result = retorno }, 0));
            }
            catch (Exception ex)
            {
                return(base.Json(new { Result = ex.Message + "---" + ex.StackTrace + "---" + Server.MapPath(path_img) }, 0));
            }
        }
Ejemplo n.º 4
0
        public string MantemUsuario(Indigo_Usuario usuario, string[] listTelaUsuario, Indigo_EstruturaFluxo estrutura)
        {
            var retorno = "";
            int estr_id = 0;
            Indigo_EstruturaFluxo estrExiste = new Indigo_EstruturaFluxo();

            try
            {
                var context   = new Indigo_Controle_Licenca();
                var usuExiste = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Login == usuario.usr_Login);

                if (usuExiste != null)
                {
                    estrExiste = context.Indigo_EstruturaFluxo.FirstOrDefault(x => x.estr_id == usuExiste.estr_id && x.usr_id == usuExiste.usr_Id);
                    var usuExisteEstrNome = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Id == estrutura.estrusr_id);

                    if (estrExiste != null)
                    {
                        estrExiste.estrusr_id = estrutura.estrusr_id;
                        estrExiste.usr_id     = usuExiste.usr_Id;
                        estrExiste.estr_apr   = estrutura.estr_apr;
                        estrExiste.estr_Nome  = usuExisteEstrNome.usr_Nome;

                        context.Indigo_EstruturaFluxo.AddOrUpdate(estrExiste);
                        context.SaveChanges();
                        estr_id = estrExiste.estr_id;
                    }
                    else
                    {
                        usuExisteEstrNome = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Id == estrutura.estrusr_id);

                        estrutura.estrusr_id = estrutura.estrusr_id;
                        estrutura.usr_id     = usuExiste.usr_Id;
                        estrutura.estr_apr   = estrutura.estr_apr;
                        estrutura.estr_Nome  = usuExisteEstrNome.usr_Nome;

                        context.Indigo_EstruturaFluxo.AddOrUpdate(estrutura);
                        context.SaveChanges();
                        estr_id = estrutura.estr_id;
                    }

                    if (usuario.usr_Senha != null)
                    {
                        usuExiste.usr_Senha = usuario.usr_Senha;
                    }



                    usuExiste.usr_Login         = usuario.usr_Login.TrimEnd();
                    usuExiste.usr_Nome          = usuario.usr_Nome.TrimEnd();
                    usuExiste.usr_Email         = usuario.usr_Email.TrimEnd();
                    usuExiste.usr_Tel           = usuario.usr_Tel.TrimEnd();
                    usuExiste.fnc_id            = usuario.fnc_id;
                    usuExiste.estr_id           = estr_id;
                    usuExiste.usr_VerEstruturas = usuario.usr_VerEstruturas;
                    usuExiste.usr_imagePerfil   = usuario.usr_imagePerfil;
                    usuExiste.usr_PermissaoPipe = usuario.usr_PermissaoPipe;

                    context.Indigo_Usuario.AddOrUpdate(usuExiste);
                    context.SaveChanges();

                    retorno = "Usuário alterado com Sucesso !";

                    var atualizaNomeUsuario = context.Indigo_EstruturaFluxo.Where(x => x.estrusr_id == usuExiste.usr_Id).ToList();

                    foreach (var reg in atualizaNomeUsuario)
                    {
                        var estrNomeA = new Indigo_EstruturaFluxo();
                        estrNomeA.estrusr_id = reg.estrusr_id;
                        estrNomeA.estr_Nome  = usuario.usr_Nome;
                        estrNomeA.estr_id    = reg.estr_id;
                        estrNomeA.usr_id     = reg.usr_id;
                        estrNomeA.estr_apr   = reg.estr_apr;
                        context.Indigo_EstruturaFluxo.AddOrUpdate(estrNomeA);
                        context.SaveChanges();
                    }
                }
                else
                {
                    var usuExisteEstrNome = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Id == estrutura.estrusr_id);

                    estrutura.estrusr_id = estrutura.estrusr_id;
                    estrutura.usr_id     = usuario.usr_Id;
                    estrutura.estr_apr   = estrutura.estr_apr;
                    estrutura.estr_Nome  = usuExisteEstrNome.usr_Nome;

                    context.Indigo_EstruturaFluxo.AddOrUpdate(estrutura);
                    context.SaveChanges();
                    estr_id = estrutura.estr_id;


                    Random random = new Random();
                    var    senha  = random.Next(100, 1000);

                    usuario.usr_Senha = senha.ToString();
                    usuario.estr_id   = estr_id;

                    context.Indigo_Usuario.AddOrUpdate(usuario);
                    context.SaveChanges();

                    estrutura.usr_id = usuario.usr_Id;

                    context.Indigo_EstruturaFluxo.AddOrUpdate(estrutura);
                    context.SaveChanges();

                    usuario.estr_id = estrutura.estr_id;

                    context.Indigo_Usuario.AddOrUpdate(usuario);

                    context.SaveChanges();

                    retorno = String.Format("Usuário criado com sucesso ! Enviado e-mail com as informações para acesso.", senha.ToString());
                }



                var usuarioNovo = context.Indigo_Usuario.FirstOrDefault(x => x.usr_Login == usuario.usr_Login);
                List <Indigo_TelasUsuario> listTelaUsuarioObj = new List <Indigo_TelasUsuario>();
                foreach (var tela in listTelaUsuario)
                {
                    var telausu = new Indigo_TelasUsuario
                    {
                        tuo_TelId = Convert.ToInt32(tela),
                        tuo_UsrId = usuarioNovo.usr_Id
                    };
                    listTelaUsuarioObj.Add(telausu);
                }
                MantemAcesso(listTelaUsuarioObj);
            }
            catch (Exception ex)
            {
                return(String.Format("Erro: {0}", ex.Message));
            }
            return(retorno);
        }