public ActionResult EditCondomino(int CondominioID, int CondominoID, string Nome, string Email, string IndFiscal, string DataCadastro, string IndSituacao, string TelParticular1, string TelParticular2, string DataNascimento, string usuarioId, string Sexo, string IndProprietario, string IndAnimal, string ProfissaoID, string Observacao, string cnpj, string Administrador, string RamoAtividadeID) { if (ViewBag.ValidateRequest) { CondominoViewModel result = null; try { SessaoLocal s = DWMSessaoLocal.GetSessaoLocal(); ViewBag.SessaoLocal = s; CondominoViewModel value = null; if (IndFiscal != null && IndFiscal.Trim().Length > 0) { value = new CondominoPFViewModel() { CondominioID = CondominioID, CondominoID = CondominoID, Nome = Nome, Email = Email, IndFiscal = IndFiscal, IndSituacao = IndSituacao, DataCadastro = DataCadastro != null && DataCadastro != "" ? Funcoes.StringToDate(DataCadastro).Value : Funcoes.Brasilia(), TelParticular1 = TelParticular1, TelParticular2 = TelParticular2, Sexo = Sexo, IndProprietario = IndProprietario, IndAnimal = IndAnimal, DataNascimento = Funcoes.StringToDate(DataNascimento), ProfissaoID = ProfissaoID != null && int.Parse(ProfissaoID) > 0 ? int.Parse(ProfissaoID) : 0, Observacao = Observacao, UsuarioViewModel = new UsuarioViewModel() { empresaId = CondominioID, usuarioId = usuarioId != null && usuarioId != "" ? int.Parse(usuarioId) : 0 } }; value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); Facade <CondominoPFViewModel, CondominoPFModel, ApplicationContext> facade = new Facade <CondominoPFViewModel, CondominoPFModel, ApplicationContext>(); result = facade.Save((CondominoPFViewModel)value, Crud.ALTERAR); } else { value = new CondominoPJViewModel() { CondominioID = CondominioID, CondominoID = CondominoID, Nome = Nome, Email = Email, IndFiscal = cnpj, IndSituacao = IndSituacao, DataCadastro = DataCadastro != null && DataCadastro != "" ? Funcoes.StringToDate(DataCadastro).Value : Funcoes.Brasilia(), TelParticular1 = TelParticular1, TelParticular2 = TelParticular2, IndProprietario = IndProprietario, Administrador = Administrador, RamoAtividadeID = RamoAtividadeID != null && RamoAtividadeID != "" ? int.Parse(RamoAtividadeID) : 0, Observacao = Observacao, UsuarioViewModel = new UsuarioViewModel() { empresaId = CondominioID, usuarioId = usuarioId != null && usuarioId != "" ? int.Parse(usuarioId) : 0 } }; value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); Facade <CondominoPJViewModel, CondominoPJModel, ApplicationContext> facade = new Facade <CondominoPJViewModel, CondominoPJModel, ApplicationContext>(); result = facade.Save((CondominoPJViewModel)value, Crud.ALTERAR); } if (result.mensagem.Code > 0) { throw new App_DominioException(result.mensagem); } Success("Condômino alterado com sucesso"); } catch (App_DominioException ex) { ModelState.AddModelError("", ex.Result.MessageBase); // mensagem amigável ao usuário Error(ex.Result.Message); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } catch (Exception ex) { App_DominioException.saveError(ex, GetType().FullName); ModelState.AddModelError("", MensagemPadrao.Message(17).ToString()); // mensagem amigável ao usuário Error(ex.Message); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } return(View(result)); } else { return(View()); } }
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); }