public CondominoEditViewModel Run(Repository value) { CondominoEditViewModel r = (CondominoEditViewModel)value; CondominoEditViewModel result = new CondominoEditViewModel() { mensagem = new Validate() { Code = 0, Message = "Registro processado com sucesso" } }; try { int _empresaId = sessaoCorrente.empresaId; if (r.CondominoViewModel is CondominoPFViewModel) { #region CondominoPF CondominoPFModel condominoPFModel = new CondominoPFModel(this.db, this.seguranca_db); result.CondominoViewModel = condominoPFModel.getObject((CondominoPFViewModel)r.CondominoViewModel); if (result.CondominoViewModel == null) { result.CondominoViewModel = new CondominoPFViewModel() { mensagem = new Validate() }; throw new App_DominioException("Acesso não permitido", "Error"); } #endregion } else { #region CondominoPJ CondominoPJModel condominoPJModel = new CondominoPJModel(this.db, this.seguranca_db); result.CondominoViewModel = condominoPJModel.getObject((CondominoPJViewModel)r.CondominoViewModel); if (result.CondominoViewModel == null) { result.CondominoViewModel = new CondominoPJViewModel() { mensagem = new Validate() }; throw new App_DominioException("Acesso não permitido", "Error"); } #endregion } CredenciadoModel CredenciadoModel; ListViewCredenciados ListCredenciados; VeiculoModel VeiculoModel; ListViewVeiculos ListVeiculos; FuncionarioModel FuncionarioModel; ListViewFuncionarios ListFuncionarios; ListViewGrupoCondominoUsuarios ListGrupoCondominoUsuarios; if (String.IsNullOrEmpty(value.sessionId)) { CredenciadoModel = new CredenciadoModel(this.db, this.seguranca_db); ListCredenciados = new ListViewCredenciados(this.db, this.seguranca_db); VeiculoModel = new VeiculoModel(this.db, this.seguranca_db); ListVeiculos = new ListViewVeiculos(this.db, this.seguranca_db); FuncionarioModel = new FuncionarioModel(this.db, this.seguranca_db); ListFuncionarios = new ListViewFuncionarios(this.db, this.seguranca_db); ListGrupoCondominoUsuarios = new ListViewGrupoCondominoUsuarios(this.db, this.seguranca_db); } else { CredenciadoModel = new CredenciadoModel(this.db, this.seguranca_db, value.sessionId); ListCredenciados = new ListViewCredenciados(this.db, this.seguranca_db, value.sessionId); VeiculoModel = new VeiculoModel(this.db, this.seguranca_db, value.sessionId); ListVeiculos = new ListViewVeiculos(this.db, this.seguranca_db, value.sessionId); FuncionarioModel = new FuncionarioModel(this.db, this.seguranca_db, value.sessionId); ListFuncionarios = new ListViewFuncionarios(this.db, this.seguranca_db, value.sessionId); ListGrupoCondominoUsuarios = new ListViewGrupoCondominoUsuarios(this.db, this.seguranca_db, value.sessionId); } result.CredenciadoViewModel = CredenciadoModel.CreateRepository(); result.CredenciadoViewModel.CondominoID = result.CondominoViewModel.CondominoID; result.Credenciados = ListCredenciados.Bind(0, 50, result.CondominoViewModel.CondominoID); #region Veículos result.VeiculoViewModel = VeiculoModel.CreateRepository(); result.VeiculoViewModel.CondominioID = sessaoCorrente.empresaId; result.VeiculoViewModel.EdificacaoID = r.UnidadeViewModel.EdificacaoID; result.VeiculoViewModel.UnidadeID = r.UnidadeViewModel.UnidadeID; result.VeiculoViewModel.CondominoID = result.CondominoViewModel.CondominoID; result.Veiculos = ListVeiculos.Bind(0, 50, result.VeiculoViewModel.CondominioID, result.VeiculoViewModel.EdificacaoID, result.VeiculoViewModel.UnidadeID, result.VeiculoViewModel.CondominoID); #endregion #region Funcionários result.FuncionarioViewModel = FuncionarioModel.CreateRepository(); result.FuncionarioViewModel.CondominioID = sessaoCorrente.empresaId; result.FuncionarioViewModel.EdificacaoID = r.UnidadeViewModel.EdificacaoID; result.FuncionarioViewModel.UnidadeID = r.UnidadeViewModel.UnidadeID; result.FuncionarioViewModel.CondominoID = result.CondominoViewModel.CondominoID; result.Funcionarios = ListFuncionarios.Bind(0, 50, result.FuncionarioViewModel.CondominioID, result.FuncionarioViewModel.EdificacaoID, result.FuncionarioViewModel.UnidadeID, result.FuncionarioViewModel.CondominoID); #endregion #region Grupo de Condôminos result.GrupoCondominoUsuarios = ListGrupoCondominoUsuarios.Bind(0, 50, result.CondominoViewModel.CondominoID); #endregion #region Unidade result.UnidadeViewModel = new UnidadeViewModel() { CondominioID = _empresaId, EdificacaoID = r.UnidadeViewModel.EdificacaoID, EdificacaoDescricao = r.UnidadeViewModel.EdificacaoID > 0 ? db.Edificacaos.Find(r.UnidadeViewModel.EdificacaoID).Descricao : "", UnidadeID = r.UnidadeViewModel.UnidadeID, Codigo = db.Unidades.Find(_empresaId, r.UnidadeViewModel.EdificacaoID, r.UnidadeViewModel.UnidadeID).Codigo, }; #endregion if (SessaoLocal.CondominoID > 0) { #region Valida permissão do usuário para editar o condômino if (r.CondominoViewModel.CondominoID != SessaoLocal.CondominoID) { throw new App_DominioException("Acesso não permitido", "Error"); } bool flag = false; foreach (Unidade unidade in SessaoLocal.Unidades) { if (r.UnidadeViewModel.UnidadeID == unidade.UnidadeID && r.UnidadeViewModel.EdificacaoID == unidade.EdificacaoID) { flag = true; } } if (!flag) { throw new App_DominioException("Acesso não permitido", "Error"); } #endregion } } catch (ArgumentException ex) { result.CondominoViewModel.mensagem = new Validate() { Code = 999, Message = MensagemPadrao.Message(999).ToString(), MessageBase = ex.Message }; } catch (App_DominioException ex) { result.CondominoViewModel.mensagem.Code = 999; if (ex.InnerException != null) { result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message; } else { result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.Message, GetType().FullName).Message; } } catch (DbUpdateException ex) { result.CondominoViewModel.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message; if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("REFERENCE")) { if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("DELETE")) { result.CondominoViewModel.mensagem.Code = 16; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(16).ToString(); result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR; } else { result.CondominoViewModel.mensagem.Code = 28; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(28).ToString(); result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR; } } else if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("PRIMARY")) { result.CondominoViewModel.mensagem.Code = 37; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(37).ToString(); result.CondominoViewModel.mensagem.MessageType = MsgType.WARNING; } else if (result.CondominoViewModel.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY")) { result.CondominoViewModel.mensagem.Code = 54; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(54).ToString(); result.CondominoViewModel.mensagem.MessageType = MsgType.WARNING; } else { result.CondominoViewModel.mensagem.Code = 44; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(44).ToString(); result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR; } } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { result.CondominoViewModel.mensagem = new Validate() { Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First() }; } catch (Exception ex) { result.CondominoViewModel.mensagem.Code = 17; result.CondominoViewModel.mensagem.Message = MensagemPadrao.Message(17).ToString(); result.CondominoViewModel.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message; result.CondominoViewModel.mensagem.MessageType = MsgType.ERROR; } return(result); }
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); }
public CondominoViewModel Run(Repository value) { CondominoViewModel c; CondominoViewModel r; if (value is CondominoPFViewModel) { c = (CondominoPFViewModel)value; r = new CondominoPFViewModel(); } else { c = (CondominoPJViewModel)value; r = new CondominoPJViewModel(); } try { if (SessaoLocal.CondominoID > 0) { r.CondominoID = SessaoLocal.CondominoID; if (value is CondominoPFViewModel) { CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db); r = model.getObject((CondominoPFViewModel)r); } else { // escrever aqui o código para recuperar o condomino PJ } } else { r.mensagem = new Validate() { Code = 0 } }; } 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); }
public CondominoUnidadeViewModel Run(Repository value) { CondominoUnidadeViewModel cu = (CondominoUnidadeViewModel)value; cu.mensagem = new Validate() { Code = 0, Message = "Registro incluído com sucesso" }; CondominoPFViewModel Cond = new CondominoPFViewModel() { CondominioID = cu.CondominioID, CondominoID = cu.CondominoID, }; CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db); CondominoPFViewModel r = model.getObject(Cond); try { r.IndSituacao = "A"; r.uri = value.uri; r = model.Update(r); db.SaveChanges(); #region envio de e-mail ao condômino para notificação de ativação int EmailTemplateID = int.Parse(db.Parametros.Find(sessaoCorrente.empresaId, (int)Enumeracoes.Enumeradores.Param.EMAIL_TEMPLATE_ATIVACAO_CONDOMINO).Valor); EmailLogViewModel EmailLogViewModel = new EmailLogViewModel() { UsuarioID = sessaoCorrente.usuarioId, uri = value.uri, empresaId = sessaoCorrente.empresaId, EmailTipoID = (int)DWM.Models.Enumeracoes.Enumeradores.EmailTipo.ATIVACAO_CONDOMINO, CondominioID = sessaoCorrente.empresaId, EdificacaoID = cu.EdificacaoID, Descricao_Edificacao = db.Edificacaos.Find(cu.EdificacaoID).Descricao, UnidadeID = cu.UnidadeID, Email = r.Email, DataEmail = Funcoes.Brasilia(), Nome = r.Nome, Assunto = db.EmailTipos.Find((int)Enumeracoes.Enumeradores.EmailTipo.ATIVACAO_CONDOMINO, sessaoCorrente.empresaId).Assunto, EmailMensagem = db.EmailTemplates.Find(EmailTemplateID).EmailMensagem, Repository = r }; EmailNotificacaoBI notificacaoBI = new EmailNotificacaoBI(this.db, this.seguranca_db); EmailLogViewModel = notificacaoBI.Run(EmailLogViewModel); if (EmailLogViewModel.mensagem.Code > 0) { throw new App_DominioException(EmailLogViewModel.mensagem); } EmailLogViewModel.Repository = r; IEnumerable <EmailLogViewModel> EmailLogPessoas = notificacaoBI.List(EmailLogViewModel); foreach (EmailLogViewModel log in EmailLogPessoas) { Alerta alerta = new Alerta() { usuarioId = r.UsuarioID.Value, // log.UsuarioID.Value, sistemaId = sessaoCorrente.sistemaId, dt_emissao = Funcoes.Brasilia(), linkText = "Ativação - " + r.Nome.Split(' ')[0] + " " + r.Nome.Split(' ')[1], url = "../Condomino/Index?id=" + r.CondominoID.ToString() + "&EdificacaoID=" + cu.EdificacaoID.ToString() + "&UnidadeID=" + cu.UnidadeID.ToString() + "&TipoPessoa=PF", mensagem = "<b>" + Funcoes.Brasilia().ToString("dd/MM/yyyy HH:mm") + "h</b><p>Ativação - " + r.Nome.Split(' ')[0] + " " + r.Nome.Split(' ')[1] + "</p>" }; seguranca_db.Alertas.Add(alerta); } #endregion } catch (ArgumentException ex) { cu.mensagem = new Validate() { Code = 997, Message = MensagemPadrao.Message(997).ToString(), MessageBase = ex.Message }; } catch (App_DominioException ex) { cu.mensagem = ex.Result; if (ex.InnerException != null) { cu.mensagem.MessageBase = new App_DominioException(ex.InnerException.Message ?? ex.Message, GetType().FullName).Message; } else { cu.mensagem.MessageBase = new App_DominioException(ex.Result.Message, GetType().FullName).Message; } } catch (DbUpdateException ex) { cu.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message; if (cu.mensagem.MessageBase.ToUpper().Contains("REFERENCE") || cu.mensagem.MessageBase.ToUpper().Contains("FOREIGN")) { if (cu.mensagem.MessageBase.ToUpper().Contains("DELETE")) { cu.mensagem.Code = 16; cu.mensagem.Message = MensagemPadrao.Message(16).ToString(); cu.mensagem.MessageType = MsgType.ERROR; } else { cu.mensagem.Code = 28; cu.mensagem.Message = MensagemPadrao.Message(28).ToString(); cu.mensagem.MessageType = MsgType.ERROR; } } else if (cu.mensagem.MessageBase.ToUpper().Contains("PRIMARY")) { cu.mensagem.Code = 37; cu.mensagem.Message = MensagemPadrao.Message(37).ToString(); cu.mensagem.MessageType = MsgType.WARNING; } else if (cu.mensagem.MessageBase.ToUpper().Contains("UNIQUE KEY")) { cu.mensagem.Code = 54; cu.mensagem.Message = MensagemPadrao.Message(54).ToString(); cu.mensagem.MessageType = MsgType.WARNING; } else { cu.mensagem.Code = 44; cu.mensagem.Message = MensagemPadrao.Message(44).ToString(); cu.mensagem.MessageType = MsgType.ERROR; } } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { cu.mensagem = new Validate() { Code = 42, Message = MensagemPadrao.Message(42).ToString(), MessageBase = ex.EntityValidationErrors.Select(m => m.ValidationErrors.First().ErrorMessage).First() }; } catch (Exception ex) { cu.mensagem.Code = 17; cu.mensagem.Message = MensagemPadrao.Message(17).ToString(); cu.mensagem.MessageBase = new App_DominioException(ex.InnerException.InnerException.Message ?? ex.Message, GetType().FullName).Message; cu.mensagem.MessageType = MsgType.ERROR; } return(cu); }