Exemplo n.º 1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Status,GrupoId,IdentityUserId")] UsuarioGrupo usuarioGrupo)
        {
            if (id != usuarioGrupo.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(usuarioGrupo);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UsuarioGrupoExists(usuarioGrupo.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["GrupoId"]        = new SelectList(_context.Grupos.Where(S => S.OwnerId == getCurrentUserId("id")), "Id", "GroupName");
            ViewData["IdentityUserId"] = new SelectList(_context.Users.Where(s => s.CreatedBy == getCurrentUserId("id") || s.CreatedBy == "self"), "Id", "UserName", usuarioGrupo.UserId);
            return(View(usuarioGrupo));
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public List <UsuarioGrupo> ObtenerTablaUsuarioGrupo()
        {
            List <UsuarioGrupo> listadoUsuarioGrupo = new List <UsuarioGrupo>();

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MotoPoint"].ConnectionString))
            {
                try
                {
                    con.Open();
                    SqlCommand cmdSelect = new SqlCommand("SELECT * FROM tbl_UsuarioGrupo", con);
                    using (var reader = cmdSelect.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            UsuarioGrupo oUsuarioGrupo = new UsuarioGrupo();
                            oUsuarioGrupo.IdUsuario = Convert.ToInt32(reader["idUsuario"]);
                            oUsuarioGrupo.IdGrupo   = Convert.ToInt32(reader["idGrupo"]);
                            listadoUsuarioGrupo.Add(oUsuarioGrupo);
                        }
                    }
                    con.Close();
                }
                catch (Exception ex)
                {
                    con.Close();
                    throw new EXCEPCIONES.DALExcepcion(ex.Message);
                }
                return(listadoUsuarioGrupo);
            }
        }
Exemplo n.º 3
0
        public async Task <ActionResult <UsuarioGrupo> > PostUsuarioGrupo(UsuarioGrupo usuarioGrupo)
        {
            _context.UsuarioGrupo.Add(usuarioGrupo);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUsuarioGrupo", new { id = usuarioGrupo.id }, usuarioGrupo));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("Id,Status,GrupoId,UserId")] UsuarioGrupo usuarioGrupo)
        {
            if (ModelState.IsValid)
            {
                var registerExist = _context.UsuarioGrupos
                                    .Where(S => S.GrupoId == usuarioGrupo.GrupoId &&
                                           S.UserId == usuarioGrupo.UserId).AsNoTracking().FirstOrDefault();
                if (registerExist == null)
                {
                    _context.Add(usuarioGrupo);
                    await _context.SaveChangesAsync();
                }
                else
                {
                    HttpContext.Session.SetString(SessionKeyName, "El usuario ya se encuentra en el grupo");
                }

                return(RedirectToAction(nameof(Index)));
            }
            List <Grupo> grupos = _context.Grupos.Where(S => S.OwnerId == getCurrentUserId("id")).ToList();

            if (grupos.Count() < 1)
            {
                RedirectToAction("Create", "Groups", new { message = "Primero crea un grupo" });
            }
            ViewData["GrupoId"]        = new SelectList(grupos, "Id", "GroupName");
            ViewData["IdentityUserId"] = new SelectList(_context.Users.Where(s => s.CreatedBy == getCurrentUserId("id") || s.CreatedBy == "self"), "Id", "UserDesc", usuarioGrupo.UserId);
            return(View(usuarioGrupo));
        }
Exemplo n.º 5
0
        public void AddTest()
        {
            UsuarioGrupo item = new UsuarioGrupo()
            {
                Descricao = "UsuarioGrupo01", Tipo = UserGroupType.Administrator
            };
            IUserGroupRepository target = new UserGroupRepository();

            target.Add(item);

            try
            {
                // use session to try to load the product
                using (ISession session = NHibernateHelper.OpenSession())
                {
                    var fromDb = session.Get <UsuarioGrupo>(item.Id);

                    Assert.IsNotNull(fromDb);
                    Assert.AreNotSame(item, fromDb);
                    Assert.AreEqual(item.Descricao, fromDb.Descricao);
                    Assert.AreEqual(item.Tipo, fromDb.Tipo);
                }
            }
            finally
            {
                target.Remove(item);
            }
        }
Exemplo n.º 6
0
        public Usuario Insert(Usuario u)
        {
            using (DiscosDAL dal = new DiscosDAL())
            {
                dal.Usuarios.Add(u);

                if (dal.SaveChanges() == 0)
                {
                    u = null;
                }
                else
                {
                    UsuarioGrupo ug = new UsuarioGrupo();

                    ug.IdUsuario = dal.Usuarios.OrderByDescending(us => us.IdUsuario)
                                   .Select(us => us.IdUsuario)
                                   .Take(1).Single();
                    ug.IdGrupo = 2;

                    dal.UsuariosGrupos.Add(ug);

                    if (dal.SaveChanges() == 0)
                    {
                        u = null;
                    }
                }
            }

            return(u);
        }
        private void OnDeleteExecute(UsuarioGrupo target)
        {
            var respository = _container.Resolve <IUserGroupRepository>();

            respository.Remove(target);
            this.Grupos.Remove(target);
        }
Exemplo n.º 8
0
        public IHttpActionResult AsignaUsuariosGrupo()
        {
            var sIdGrupoUsuarios = getFormKeyValue("idGrupoUsuarios");
            var idGrupoUsuarios  = Int64.Parse(sIdGrupoUsuarios);
            var sListaJson       = getFormKeyValue("listaJson");
            var idsUsuarios      = new List <long>();

            JsonConvert.PopulateObject(sListaJson, idsUsuarios);
            var resultado = UsuarioService.BorrarUsuarioGrupopPorGrupo(idGrupoUsuarios);
            var list      = new List <UsuarioGrupo>();

            if (resultado.Resultado)
            {
                foreach (var idUsuario in idsUsuarios)
                {
                    var usuarioGrupo = new UsuarioGrupo()
                    {
                        IdUsuario       = idUsuario,
                        IdGrupoUsuarios = idGrupoUsuarios,
                    };

                    list.Add(usuarioGrupo);
                }
                if (list.Any())
                {
                    resultado = UsuarioService.GuardarUsuarioGrupoBulk(list, IdUsuarioExec);
                }
            }
            return(Ok(resultado));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> PutUsuarioGrupo(int id, UsuarioGrupo usuarioGrupo)
        {
            if (id != usuarioGrupo.id)
            {
                return(BadRequest());
            }

            _context.Entry(usuarioGrupo).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UsuarioGrupoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 10
0
        public UserGroupPresenter(IUserGroupView view, UsuarioGrupo grupo)
        {
            this.SubmitCommand = new DelegateCommand <object>(this.Submit, this.CanSubmit);
            this.CancelCommand = new DelegateCommand <object>(this.Cancel);
            this.Grupo         = grupo;

            this._view = view;
            this._view.SetPresenter(this);
        }
Exemplo n.º 11
0
 public void Remove(UsuarioGrupo item)
 {
     using (ISession session = NHibernateHelper.OpenSession())
         using (ITransaction transaction = session.BeginTransaction())
         {
             item.RemoveBySession(session);
             transaction.Commit();
         }
 }
Exemplo n.º 12
0
        public UsuarioGrupo GetByDescription(string value)
        {
            UsuarioGrupo item = _session
                                .CreateCriteria(typeof(UsuarioGrupo))
                                .Add(Restrictions.Eq("Descricao", value))
                                .UniqueResult <UsuarioGrupo>();

            return(item);
        }
Exemplo n.º 13
0
        protected internal virtual void AssociarGrupo(Usuario usr, Grupo grupo)
        {
            UsuarioGrupo ugrupo = new UsuarioGrupo();

            ugrupo.Id         = new UsuarioGrupoId();
            ugrupo.Id.Usuario = usr;
            ugrupo.Id.Grupo   = grupo;
            ugrupo.Ativo      = true;
            sessao.SaveOrUpdate(ugrupo);
        }
 public int Guardar(UsuarioGrupo entidad)
 {
     Catalogo.Id          = entidad.Id;
     Catalogo.Catalogo    = TipoCatalogo;
     Catalogo.Codigo      = entidad.Codigo;
     Catalogo.Descripcion = entidad.Descripcion;
     Catalogo.Nivel       = 1;
     Catalogo.Activo      = 1;
     return(Catalogo.Guardar());
 }
Exemplo n.º 15
0
        public static void MyClassInitialize(TestContext testContext)
        {
            item = new UsuarioGrupo()
            {
                Descricao = "UsuarioGrupo01", Tipo = UserGroupType.Administrator
            };
            IUserGroupRepository target = new UserGroupRepository();

            target.Add(item);
        }
Exemplo n.º 16
0
        public HttpResponseMessage AtualizarGrupo(HttpRequestMessage request, int UsuarioId, IEnumerable <UsuarioGrupoViewModel> gruposXusuarios)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;



                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest, new { success = false });
                }
                else
                {
                    Usuario usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));

                    var gruposdelete = _usuarioGrupoRep.GetAll().Where(x => x.UsuarioId == UsuarioId);

                    if (gruposdelete.Any())
                    {
                        _usuarioGrupoRep.DeleteAll(gruposdelete);
                        _unitOfWork.Commit();
                    }

                    if (gruposXusuarios.Any())
                    {
                        foreach (UsuarioGrupoViewModel item in gruposXusuarios)
                        {
                            if (item.Selecionado)
                            {
                                var novoUsuarioGrupo = new UsuarioGrupo
                                {
                                    UsuarioId = UsuarioId,
                                    DtCriacao = DateTime.Now,
                                    UsuarioCriacao = usuario,
                                    GrupoId = item.GrupoId
                                };
                                _usuarioGrupoRep.Add(novoUsuarioGrupo);
                                _unitOfWork.Commit();
                            }
                        }
                    }


                    response = request.CreateResponse(HttpStatusCode.OK);
                }

                return response;
            }));
        }
Exemplo n.º 17
0
        public ResultadoOperacionDto GuardarUsuarioGrupo(UsuarioGrupo usuarioGrupo)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                resultado.InformacionExtra = UsuarioGrupoRepository.GuardarUsuarioGrupo(usuarioGrupo);

                resultado.Resultado = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        private void ShowView(CrudType action, UsuarioGrupo target)
        {
            this._container.RegisterInstance <UsuarioGrupo>(target);
            IUserGroupPresenter presenter = this._container.Resolve <IUserGroupPresenter>("IUserGroupPresenter");

            presenter.CloseViewRequested += delegate(object sender, EventArgs eventArgs)
            {
                if (eventArgs is CloseViewEventArgs)
                {
                    if ((eventArgs as CloseViewEventArgs).CloseViewOption == CloseViewType.Submit)
                    {
                        var repository = _container.Resolve <IUserGroupRepository>();

                        switch (action)
                        {
                        case CrudType.Create:
                            repository.Add(presenter.Grupo);
                            break;

                        case CrudType.Update:
                            repository.Update(presenter.Grupo);
                            break;
                        }
                        SearchCommand.Execute(this);
                    }
                    else
                    {
                        if (action == CrudType.Update)
                        {
                            SearchCommand.Execute(this);
                        }
                    }
                }
            };

            IBreadCrumbPresenter breadCrumb = this._container.Resolve <IBreadCrumbPresenter>();

            if (breadCrumb != null)
            {
                breadCrumb.AddCrumb(action.GetDescription(), presenter);
            }
        }
Exemplo n.º 19
0
        public void RemoveTest()
        {
            UsuarioGrupo item = new UsuarioGrupo()
            {
                Descricao = "UsuarioGrupo00", Tipo = UserGroupType.Employee
            };
            IUserGroupRepository target = new UserGroupRepository();

            target.Add(item);
            target.Remove(item);

            // use session to try to load the product
            using (ISession session = NHibernateHelper.OpenSession())
            {
                var fromDb = session.Get <UsuarioGrupo>(item.Id);

                Assert.IsNull(fromDb);
                Assert.AreNotSame(item, fromDb);
            }
        }
Exemplo n.º 20
0
        public void AdicionarUsuarioAoGrupo(ConviteGrupo convite)
        {
            // Resumo: Adiciona dois usuários (rementente e destinatário) ao grupo contatos um do outro.

            usuarioGrupo = new UsuarioGrupo()
            {
                IdUsuario = convite.IdDestinatario,
                IdGrupo   = convite.IdGrupoRemetente
            };

            if (convite.ConviteContatos)
            {
                usuario2Grupo = new UsuarioGrupo()
                {
                    IdUsuario = convite.IdRemetente,
                    IdGrupo   = convite.IdGrupoDestinatario
                };
            }

            dadosUsuarioGrupo = new UsuarioGrupoRepository();

            try
            {
                dadosUsuarioGrupo.IncluirUsuarioGrupo(usuarioGrupo);

                if (convite.ConviteContatos)
                {
                    dadosUsuarioGrupo.IncluirUsuarioGrupo(usuario2Grupo);
                }

                // Mensagem: Você foi adicionado ao grupo.
                Toast.ShortMessage(Mensagem.MENS_FORM_25);
            }
            catch (SQLiteException ex)
            {
                // Mensagem: Erro ao incluir associação de usuário e grupo no banco de dados.
                Toast.ShortMessage(Mensagem.MENS_FORM_14);
            }
        }
Exemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="oUsuarioGrupo"></param>
        public void InsertarUsuarioGrupo(UsuarioGrupo oUsuarioGrupo)
        {
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MotoPoint"].ConnectionString))
            {
                using (SqlCommand cmdInsert = new SqlCommand("INSERT INTO tbl_UsuarioGrupo([idUsuario],[idGrupo]) VALUES (@IdUsuario,@IdGrupo)", con))
                {
                    cmdInsert.Parameters.AddWithValue("@IdUsuario", oUsuarioGrupo.IdUsuario);
                    cmdInsert.Parameters.AddWithValue("@IdGrupo", oUsuarioGrupo.IdGrupo);

                    try
                    {
                        con.Open();
                        cmdInsert.ExecuteNonQuery();
                        con.Close();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        throw new EXCEPCIONES.DALExcepcion(ex.Message);
                    }
                }
            }
        }
 private void OnCreateExecute(UsuarioGrupo target)
 {
     ShowView(CrudType.Create, new UsuarioGrupo());
 }
 private void OnUpdateExecute(UsuarioGrupo target)
 {
     ShowView(CrudType.Update, target);
 }
 private bool CanDelete(UsuarioGrupo target)
 {
     return((target != null) && (target.Id > 0));
 }
Exemplo n.º 25
0
        public bool CriarNovoGrupo(bool grupoContatos, bool incluirCriador)
        {
            // Resumo: Permite criar um grupo.

            if (dadosUsuario == null)
            {
                dadosUsuario = new UsuarioRepository();
            }
            if (dadosGrupo == null)
            {
                dadosGrupo = new GrupoRepository();
            }

            if (grupoContatos)
            {
                IdCriadorServ = dadosUsuario.UltimoIdInserido();

                grupo = new Grupo
                {
                    IdCriador = IdCriadorServ,
                    Contatos  = true
                };

                dadosGrupo.IncluirGrupoContatos(grupo);
                return(true);
            }
            else
            {
                IdCriadorServ  = (int)Application.Current.Properties["id"];
                IdGrupoPaiServ = ObterGrupoContatosDoUsuarioLogado().Id;

                if (ValidarFormCriarGrupo())
                {
                    grupo = new Grupo
                    {
                        IdCriador     = IdCriadorServ,
                        IdGrupoPai    = IdGrupoPaiServ,
                        NomeGrupo     = NomeServ,
                        ObjetivoGrupo = ObjetivoServ,
                        Contatos      = false
                    };

                    dadosGrupo.IncluirGrupo(grupo);

                    int idGrupo = dadosGrupo.UltimoIdInserido();

                    if (incluirCriador)
                    {
                        usuarioGrupo = new UsuarioGrupo()
                        {
                            IdUsuario = IdCriadorServ,
                            IdGrupo   = idGrupo++
                        };

                        if (dadosUsuarioGrupo == null)
                        {
                            dadosUsuarioGrupo = new UsuarioGrupoRepository();
                        }

                        try
                        {
                            dadosUsuarioGrupo.IncluirUsuarioGrupo(usuarioGrupo);

                            //Mensagem: Grupo criado com sucesso.
                            Toast.ShortMessage(Mensagem.MENS_FORM_24);
                            return(true);
                        }
                        catch (SQLiteException ex)
                        {
                            // Mensagem: Erro ao incluir associação de usuário e grupo no banco de dados.
                            Toast.ShortMessage(Mensagem.MENS_FORM_14);
                        }
                    }
                    else
                    {
                        //Mensagem: Grupo criado com sucesso.
                        Toast.ShortMessage(Mensagem.MENS_FORM_24);
                        return(true);
                    }
                }
                return(false);
            }
        }
Exemplo n.º 26
0
        public RegisterViewModel Run(Repository value)
        {
            RegisterViewModel r = (RegisterViewModel)value;

            try
            {
                #region validar cadastro
                Validate validate = Validate(r);
                if (validate.Code > 0)
                {
                    throw new ArgumentException(validate.MessageBase);
                }
                #endregion

                #region Cadastrar o condômino como um usuário em DWM-Segurança

                #region Usuario
                EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

                Usuario user = new Usuario()
                {
                    nome        = r.Nome.Trim().Length > 40 ? r.Nome.Substring(0, 40).ToUpper() : r.Nome.Trim().ToUpper(),
                    login       = r.Email,
                    empresaId   = 10,
                    dt_cadastro = Funcoes.Brasilia(),
                    isAdmin     = "N",
                    senha       = security.Criptografar(r.senha)
                };

                seguranca_db.Usuarios.Add(user);
                #endregion

                #region UsuarioGrupo
                UsuarioGrupo ug = new UsuarioGrupo()
                {
                    Usuario  = user,
                    grupoId  = 10,
                    situacao = "A"
                };

                seguranca_db.UsuarioGrupos.Add(ug);
                #endregion

                seguranca_db.SaveChanges();

                #endregion


                r.IndSituacao = "A";
                db.SaveChanges();
            }
            catch (ArgumentException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                r.mensagem = ex.Result;

                if (ex.InnerException != null)
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                r.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (r.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (r.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        r.mensagem.Code        = 16;
                        r.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        r.mensagem.Code        = 28;
                        r.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    r.mensagem.Code        = 37;
                    r.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    r.mensagem.Code        = 54;
                    r.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    r.mensagem.Code        = 44;
                    r.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    r.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                r.mensagem.Code        = 17;
                r.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                r.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                r.mensagem.MessageType = MsgType.ERROR;
            }
            return(r);
        }
Exemplo n.º 27
0
 public void IncluirUsuarioGrupo(UsuarioGrupo usuarioGrupo)
 {
     conexao.Insert(usuarioGrupo);
 }
        public CredenciadoViewModel Run(Repository value)
        {
            bool EnviaEmail = false;

            CredenciadoViewModel r      = (CredenciadoViewModel)value;
            CredenciadoViewModel result = new CredenciadoViewModel()
            {
                uri                    = r.uri,
                empresaId              = sessaoCorrente.empresaId,
                CredenciadoID          = r.CredenciadoID,
                CondominoID            = r.CondominoID,
                Nome                   = r.Nome,
                Email                  = r.Email,
                TipoCredenciadoID      = r.TipoCredenciadoID,
                Sexo                   = r.Sexo,
                Observacao             = r.Observacao,
                UsuarioID              = r.UsuarioID,
                IndVisitantePermanente = r.IndVisitantePermanente,
                mensagem               = new Validate()
                {
                    Code = 0, Message = "Registro processado com sucesso"
                }
            };

            try
            {
                int    _empresaId = SessaoLocal.empresaId;
                string _keyword   = null;

                CredenciadoModel CredenciadoModel = new CredenciadoModel(this.db, this.seguranca_db);

                if (r.CredenciadoID == 0) // Incluir credenciado
                {
                    #region Validar Credenciado
                    if (CredenciadoModel.Validate(result, Crud.INCLUIR).Code > 0)
                    {
                        throw new App_DominioException(result.mensagem);
                    }
                    #endregion

                    #region Cadastrar o credenciado como um usuário em DWM-Segurança

                    if (!string.IsNullOrEmpty(result.Email))
                    {
                        Random random = new Random();
                        string _senha = random.Next(9999, 999999).ToString();
                        _keyword = random.Next(9999, 99999999).ToString();
                        int _grupoId = int.Parse(db.Parametros.Find(_empresaId, (int)Enumeracoes.Enumeradores.Param.GRUPO_CREDENCIADO).Valor);

                        #region Usuario
                        EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

                        Usuario user = new Usuario()
                        {
                            nome        = r.Nome.ToUpper(),
                            login       = r.Email,
                            empresaId   = _empresaId,
                            dt_cadastro = Funcoes.Brasilia(),
                            situacao    = "D",
                            isAdmin     = "N",
                            senha       = security.Criptografar(_senha),
                            keyword     = _keyword,
                            dt_keyword  = Funcoes.Brasilia().AddDays(1)
                        };

                        // Verifica se o E-mail do usuário já não existe para a empresa
                        if (seguranca_db.Usuarios.Where(info => info.empresaId == _empresaId && info.login == r.Email).Count() > 0)
                        {
                            throw new ArgumentException("E-mail já cadastrado");
                        }

                        seguranca_db.Usuarios.Add(user);
                        #endregion

                        #region UsuarioGrupo
                        UsuarioGrupo ug = new UsuarioGrupo()
                        {
                            Usuario  = user,
                            grupoId  = _grupoId,
                            situacao = "A"
                        };

                        seguranca_db.UsuarioGrupos.Add(ug);
                        #endregion

                        seguranca_db.SaveChanges();

                        result.UsuarioID = user.usuarioId;
                        EnviaEmail       = true;
                    }
                    #endregion

                    #region Incluir o credenciado
                    result = CredenciadoModel.Insert(result);
                    result.mensagem.Field = _keyword;
                    #endregion
                }
                else if (Operacao == "S") // Alterar credenciado
                {
                    #region Validar Credenciado
                    if (CredenciadoModel.Validate(result, Crud.ALTERAR).Code > 0)
                    {
                        throw new App_DominioException(result.mensagem);
                    }
                    #endregion

                    #region Atualiza o cadastro do usuário
                    if (result.UsuarioID.HasValue && result.UsuarioID > 0 && !string.IsNullOrEmpty(result.Email)) // antes existia UsuarioID e tem E-mail
                    {
                        Usuario user = seguranca_db.Usuarios.Find(result.UsuarioID.Value);

                        if (user != null)
                        {
                            user.login       = result.Email;
                            user.nome        = result.Nome.ToUpper();
                            user.dt_cadastro = Funcoes.Brasilia();

                            seguranca_db.Entry(user).State = EntityState.Modified;

                            seguranca_db.SaveChanges();
                        }
                    }
                    else if ((!result.UsuarioID.HasValue || result.UsuarioID.Value == 0) && !string.IsNullOrEmpty(result.Email)) // antes não existia UsuarioID e na altração passou a existir (e-mail)
                    {
                        Random random = new Random();
                        string _senha = random.Next(9999, 999999).ToString();
                        _keyword = random.Next(9999, 99999999).ToString();
                        int _grupoId = int.Parse(db.Parametros.Find(_empresaId, (int)Enumeracoes.Enumeradores.Param.GRUPO_CREDENCIADO).Valor);

                        #region Usuario
                        EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

                        Usuario user = new Usuario()
                        {
                            nome        = r.Nome.ToUpper(),
                            login       = r.Email,
                            empresaId   = _empresaId,
                            dt_cadastro = Funcoes.Brasilia(),
                            situacao    = "D",
                            isAdmin     = "N",
                            senha       = security.Criptografar(_senha),
                            keyword     = _keyword,
                            dt_keyword  = Funcoes.Brasilia().AddDays(1)
                        };

                        // Verifica se o E-mail do usuário já não existe para a empresa
                        if (seguranca_db.Usuarios.Where(info => info.empresaId == _empresaId && info.login == r.Email).Count() > 0)
                        {
                            throw new ArgumentException("E-mail já cadastrado");
                        }

                        seguranca_db.Usuarios.Add(user);
                        #endregion

                        #region UsuarioGrupo
                        UsuarioGrupo ug = new UsuarioGrupo()
                        {
                            Usuario  = user,
                            grupoId  = _grupoId,
                            situacao = "A"
                        };

                        seguranca_db.UsuarioGrupos.Add(ug);
                        #endregion

                        seguranca_db.SaveChanges();

                        result.UsuarioID = user.usuarioId;

                        EnviaEmail = true;
                    }
                    else if (result.UsuarioID.HasValue && result.UsuarioID > 0 && string.IsNullOrEmpty(result.Email)) // antes existia usuário e agora não existe mais => Exclui o usuário em dwm-segurança
                    {
                        #region Exclui o cadastro do usuário
                        int _grupoId = int.Parse(db.Parametros.Find(_empresaId, (int)Enumeracoes.Enumeradores.Param.GRUPO_CREDENCIADO).Valor);

                        // Exclui o usuário do Grupo
                        UsuarioGrupo ug = seguranca_db.UsuarioGrupos.Find(result.UsuarioID, _grupoId);
                        seguranca_db.Set <UsuarioGrupo>().Remove(ug);

                        // Exclui o usuário da tabela Sessao
                        seguranca_db.Database.ExecuteSqlCommand("delete from Sessao where usuarioId = " + result.UsuarioID.ToString() + " and empresaId = " + sessaoCorrente.empresaId.ToString());

                        // Exclui o usuário
                        Usuario user = seguranca_db.Usuarios.Find(result.UsuarioID);
                        seguranca_db.Set <Usuario>().Remove(user);

                        seguranca_db.SaveChanges();
                        #endregion

                        result.UsuarioID = null;
                    }
                    #endregion

                    #region Alterar credenciado
                    result = CredenciadoModel.Update(result);
                    #endregion
                }
                else // Excluir credenciado
                {
                    #region Validar Credenciado
                    if (CredenciadoModel.Validate(result, Crud.EXCLUIR).Code > 0)
                    {
                        throw new App_DominioException(result.mensagem);
                    }
                    #endregion

                    #region Exclui o cadastro do usuário
                    if (result.UsuarioID.HasValue && result.UsuarioID.Value > 0)
                    {
                        int _grupoId = int.Parse(db.Parametros.Find(_empresaId, (int)Enumeracoes.Enumeradores.Param.GRUPO_CREDENCIADO).Valor);

                        // Exclui o usuário do Grupo
                        UsuarioGrupo ug = seguranca_db.UsuarioGrupos.Find(result.UsuarioID, _grupoId);
                        seguranca_db.Set <UsuarioGrupo>().Remove(ug);

                        // Exclui o usuário da tabela Sessao
                        seguranca_db.Database.ExecuteSqlCommand("delete from Sessao where usuarioId = " + result.UsuarioID.ToString() + " and empresaId = " + sessaoCorrente.empresaId.ToString());

                        // Exclui o usuário
                        Usuario user = seguranca_db.Usuarios.Find(result.UsuarioID);
                        seguranca_db.Set <Usuario>().Remove(user);

                        seguranca_db.SaveChanges();
                    }
                    #endregion

                    #region Alterar credenciado
                    result = CredenciadoModel.Delete(result);
                    #endregion
                }

                if (result.mensagem.Code > 0)
                {
                    throw new App_DominioException(result.mensagem);
                }

                db.SaveChanges();

                if (EnviaEmail)
                {
                    int    _sistemaId      = int.Parse(db.Parametros.Find(SessaoLocal.empresaId, (int)Enumeracoes.Enumeradores.Param.SISTEMA).Valor);
                    string _URL_CONDOMINIO = db.Parametros.Find(SessaoLocal.empresaId, (int)Enumeracoes.Enumeradores.Param.URL_CONDOMINIO).Valor;
                    #region envio de e-mail ao credenciado para ativação
                    int    EmailTipoID   = (int)DWM.Models.Enumeracoes.Enumeradores.EmailTipo.CADASTRO_CREDENCIADO;
                    string EmailMensagem = db.EmailTemplates.Where(info => info.CondominioID == SessaoLocal.empresaId && info.EmailTipoID == EmailTipoID).FirstOrDefault().EmailMensagem;
                    EmailMensagem = EmailMensagem.Replace("@link_credenciado", "<p><a href=\"" + _URL_CONDOMINIO + "/Account/AtivarCredenciado?id=" + result.UsuarioID.ToString() + "&key=" + _keyword + "\" target=\"_blank\"><span style=\"font-family: Verdana; font-size: small; color: #0094ff\">Acesso ao " + seguranca_db.Sistemas.Find(_sistemaId).descricao + "</span></a></p>");

                    CondominoUnidade cu = (from cou in db.CondominoUnidades
                                           where cou.CondominioID == SessaoLocal.empresaId &&
                                           cou.CondominoID == r.CondominoID
                                           select cou).FirstOrDefault();

                    EmailLogViewModel EmailLogViewModel = new EmailLogViewModel()
                    {
                        uri                      = r.uri,
                        empresaId                = SessaoLocal.empresaId,
                        EmailTipoID              = EmailTipoID, // "Cadastro Credenciado"
                        CondominioID             = SessaoLocal.empresaId,
                        EdificacaoID             = cu.EdificacaoID,
                        Descricao_Edificacao     = db.Edificacaos.Find(cu.EdificacaoID).Descricao,
                        UnidadeID                = cu.UnidadeID,
                        GrupoCondominoID         = null,
                        Descricao_GrupoCondomino = "",
                        DataEmail                = Funcoes.Brasilia(),
                        Assunto                  = db.EmailTipos.Find(EmailTipoID, SessaoLocal.empresaId).Assunto,
                        EmailMensagem            = EmailMensagem,
                        Nome                     = r.Nome,
                        Email                    = r.Email
                    };

                    EmailNotificacaoBI notificacaoBI = new EmailNotificacaoBI(this.db, this.seguranca_db);
                    EmailLogViewModel = notificacaoBI.Run(EmailLogViewModel);
                    if (EmailLogViewModel.mensagem.Code > 0)
                    {
                        throw new App_DominioException(EmailLogViewModel.mensagem);
                    }


                    //result.CredenciadoViewModel.mensagem.Field = factory.Mensagem.Field; // senha do credenciado
                    //EnviarEmailCredenciadoBI EnviarEmailCredenciadoBI = new EnviarEmailCredenciadoBI(this.db, this.seguranca_db);
                    //CredenciadoViewModel repository = EnviarEmailCredenciadoBI.Run(result);
                    //if (repository.mensagem.Code > 0)
                    //    throw new ArgumentException(repository.mensagem.MessageBase);
                    #endregion
                }
                else
                {
                    result.mensagem.Code = -1; // Tem que devolver -1 porque na Superclasse, se devolver zero, vai executar novamente o SaveChanges.
                }
            }
            catch (ArgumentException ex)
            {
                result.mensagem = new Validate()
                {
                    Code = 997, Message = MensagemPadrao.Message(997).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                result.mensagem = ex.Result;

                if (ex.InnerException != null)
                {
                    result.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    result.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                result.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (result.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (result.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        result.mensagem.Code        = 16;
                        result.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        result.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        result.mensagem.Code        = 28;
                        result.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        result.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (result.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    result.mensagem.Code        = 37;
                    result.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    result.mensagem.MessageType = MsgType.WARNING;
                }
                else if (result.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    result.mensagem.Code        = 54;
                    result.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    result.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    result.mensagem.Code        = 44;
                    result.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    result.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                result.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                result.mensagem.Code        = 17;
                result.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                result.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                result.mensagem.MessageType = MsgType.ERROR;
            }
            return(result);
        }
Exemplo n.º 29
0
        public ActionResult Save(Usuario model)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                //if(!model.Aluno && !model.Oficializado && !model.Instrutor)

                if (model.Cod_Usuario != 0 && !usuario.Admin && UsuarioComum.Find(model.Cod_Usuario, model.Cod_Comum) == null)
                {
                    throw new Exception("Usuário não cadastrado nesta comum!");
                }

                if (Usuario.EmailJaCadastrado(model.Email, model.Cod_Usuario))
                {
                    throw new Exception("Email já cadastrado!");
                }

                char oper = model.Cod_Usuario == 0 ? 'C' : 'U';
                model.Save();
                Monitor.Add <Usuario>(HttpContext, oper, model.Nome);

                if (usuario.Dev || usuario.Admin || usuario.Instrutor)
                {
                    UsuarioPermissao permissao = UsuarioPermissao.Find(model.Cod_Usuario);

                    if (usuario.Dev)
                    {
                        permissao.Dev = model.Dev;
                    }

                    if (usuario.Admin)
                    {
                        permissao.Admin = model.Admin;
                        //permissao.Cod_Comum = model.Cod_Comum;
                    }

                    if (usuario.Instrutor)
                    {
                        permissao.Instrutor    = model.Instrutor;
                        permissao.Oficializado = model.Oficializado;
                        permissao.RJM          = model.RJM;
                        permissao.Aluno        = model.Aluno;
                        permissao.Ativo        = model.Ativo;
                        //permissao.Cod_Grupo = model.Cod_Grupo;
                    }

                    permissao.Update();

                    if (usuario.Instrutor)
                    {
                        UsuarioGrupo.UpdateGrupos(model.Cod_Usuario, model.Cod_Grupos);
                    }
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
Exemplo n.º 30
0
        public RegisterViewModel Run(Repository value)
        {
            RegisterViewModel r = (RegisterViewModel)value;

            try
            {
                int _empresaId = int.Parse(db.Parametros.Find(r.CondominioID, (int)Enumeracoes.Enumeradores.Param.EMPRESA).Valor);
                int _grupoId   = int.Parse(db.Parametros.Find(r.CondominioID, (int)Enumeracoes.Enumeradores.Param.GRUPO_USUARIO).Valor);

                #region validar cadastro
                Validate validate = Validate(r);
                if (validate.Code > 0)
                {
                    throw new ArgumentException(validate.MessageBase);
                }
                #endregion

                #region Cadastrar o condômino como um usuário em DWM-Segurança

                #region Usuario
                EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

                Usuario user = new Usuario()
                {
                    nome        = r.Nome.Trim().Length > 40 ? r.Nome.Substring(0, 40).ToUpper() : r.Nome.Trim().ToUpper(),
                    login       = r.Email,
                    empresaId   = _empresaId,
                    dt_cadastro = Funcoes.Brasilia(),
                    situacao    = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                    isAdmin     = "N",
                    senha       = security.Criptografar(r.senha)
                };

                seguranca_db.Usuarios.Add(user);
                #endregion

                #region UsuarioGrupo
                UsuarioGrupo ug = new UsuarioGrupo()
                {
                    Usuario  = user,
                    grupoId  = _grupoId,
                    situacao = "A"
                };

                seguranca_db.UsuarioGrupos.Add(ug);
                #endregion

                seguranca_db.SaveChanges();

                #endregion

                #region Incluir Condômino
                CondominoViewModel condomino = null;
                if (r.UnidadeViewModel.TipoCondomino == "F")
                {
                    #region Incluir o Condômino PF
                    condomino = new CondominoPFViewModel()
                    {
                        uri             = r.uri,
                        empresaId       = _empresaId,
                        CondominoID     = r.CondominoID,
                        CondominioID    = r.CondominioID,
                        Nome            = r.Nome,
                        IndFiscal       = r.IndFiscal,
                        IndProprietario = r.IndProprietario,
                        TelParticular1  = r.TelParticular1,
                        TelParticular2  = r.TelParticular2,
                        Email           = r.Email,
                        IndSituacao     = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                        UsuarioID       = user.usuarioId,
                        ProfissaoID     = r.ProfissaoID,
                        DataNascimento  = r.DataNascimento,
                        Sexo            = r.Sexo,
                        IndAnimal       = r.IndAnimal,
                    };

                    CondominoPFModel condominoPFModel = new CondominoPFModel(this.db, this.seguranca_db);
                    condomino = condominoPFModel.Insert((CondominoPFViewModel)condomino);
                    if (condomino.mensagem.Code > 0)
                    {
                        #region Exclui o usuário
                        seguranca_db.UsuarioGrupos.Remove(ug);
                        seguranca_db.Usuarios.Remove(user);
                        seguranca_db.SaveChanges();
                        #endregion
                        throw new App_DominioException(condomino.mensagem);
                    }
                    #endregion
                }
                else
                {
                    #region Incluir o Condômino PJ
                    condomino = new CondominoPJViewModel()
                    {
                        uri             = r.uri,
                        empresaId       = _empresaId,
                        CondominoID     = r.CondominoID,
                        CondominioID    = r.CondominioID,
                        Nome            = r.Nome,
                        IndFiscal       = r.IndFiscal,
                        IndProprietario = r.IndProprietario,
                        TelParticular1  = r.TelParticular1,
                        TelParticular2  = r.TelParticular2,
                        Email           = r.Email,
                        IndSituacao     = r.UnidadeViewModel.Validador != null && r.UnidadeViewModel.Validador != "" ? "A" : "D",
                        UsuarioID       = user.usuarioId,
                        Administrador   = r.Administrador,
                        RamoAtividadeID = r.RamoAtividadeID,
                    };

                    CondominoPJModel condominoPJModel = new CondominoPJModel(this.db, this.seguranca_db);
                    condomino = condominoPJModel.Insert((CondominoPJViewModel)condomino);
                    if (condomino.mensagem.Code > 0)
                    {
                        #region Exclui o usuário
                        seguranca_db.UsuarioGrupos.Remove(ug);
                        seguranca_db.Usuarios.Remove(user);
                        seguranca_db.SaveChanges();
                        #endregion
                        throw new App_DominioException(condomino.mensagem);
                    }
                    #endregion
                }
                #endregion

                #region Incluir o CondominoUnidade
                CondominoUnidadeViewModel condominoUnidadeViewModel = new CondominoUnidadeViewModel()
                {
                    uri                = r.uri,
                    CondominioID       = r.UnidadeViewModel.CondominioID,
                    EdificacaoID       = r.UnidadeViewModel.EdificacaoID,
                    UnidadeID          = r.UnidadeViewModel.UnidadeID,
                    CondominoID        = r.CondominoID,
                    DataInicio         = Funcoes.Brasilia().Date,
                    CondominoViewModel = condomino
                };

                CondominoUnidadeModel condominoUnidadeModel = new CondominoUnidadeModel(this.db, this.seguranca_db);
                condominoUnidadeViewModel = condominoUnidadeModel.Insert(condominoUnidadeViewModel);
                if (condominoUnidadeViewModel.mensagem.Code > 0)
                {
                    throw new App_DominioException(condomino.mensagem);
                }
                #endregion

                r.CondominoID = condomino.CondominoID;
                r.IndSituacao = condomino.IndSituacao;
                r.mensagem    = condomino.mensagem;
                r.UnidadeViewModel.EdificacaoDescricao = db.Edificacaos.Find(r.UnidadeViewModel.EdificacaoID).Descricao;
                db.SaveChanges();
            }
            catch (ArgumentException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message
                };
            }
            catch (App_DominioException ex)
            {
                r.mensagem = ex.Result;

                if (ex.InnerException != null)
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                }
                else
                {
                    r.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message;
                }
            }
            catch (DbUpdateException ex)
            {
                r.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                if (r.mensagem.MessageBase.ToUpper().Contains("REFERENCE"))
                {
                    if (r.mensagem.MessageBase.ToUpper().Contains("DELETE"))
                    {
                        r.mensagem.Code        = 16;
                        r.mensagem.Message     = MensagemPadrao.Message(16).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                    else
                    {
                        r.mensagem.Code        = 28;
                        r.mensagem.Message     = MensagemPadrao.Message(28).ToString();
                        r.mensagem.MessageType = MsgType.ERROR;
                    }
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("PRIMARY"))
                {
                    r.mensagem.Code        = 37;
                    r.mensagem.Message     = MensagemPadrao.Message(37).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else if (r.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY"))
                {
                    r.mensagem.Code        = 54;
                    r.mensagem.Message     = MensagemPadrao.Message(54).ToString();
                    r.mensagem.MessageType = MsgType.WARNING;
                }
                else
                {
                    r.mensagem.Code        = 44;
                    r.mensagem.Message     = MensagemPadrao.Message(44).ToString();
                    r.mensagem.MessageType = MsgType.ERROR;
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First()
                };
            }
            catch (Exception ex)
            {
                r.mensagem.Code        = 17;
                r.mensagem.Message     = MensagemPadrao.Message(17).ToString();
                r.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message;
                r.mensagem.MessageType = MsgType.ERROR;
            }
            return(r);
        }