public static void Save(SBSCEntities db, Pessoa pessoa, PessoaViewModel formModel) { if (pessoa == null) throw new ArgumentNullException("pessoa"); if (formModel == null) throw new ArgumentNullException("formModel"); pessoa.Tipo = (byte)formModel.TipoId; pessoa.Sexo = (byte?)formModel.SexoId; pessoa.CodigoMatricula = formModel.CodigoMatricula; pessoa.Login = !string.IsNullOrEmpty(formModel.Login) ? formModel.Login.Trim() : string.Empty; pessoa.Senha = !string.IsNullOrEmpty(formModel.Senha) ? formModel.Senha.Trim() : string.Empty; pessoa.Nome = formModel.Nome.Trim(); pessoa.Endereco = formModel.Endereco; pessoa.Bairro = formModel.Bairro; pessoa.CEP = formModel.CEP; pessoa.Cidade = formModel.Cidade; pessoa.UF = (byte?)formModel.UFId; pessoa.Telefone = formModel.Telefone; if (formModel.Id.HasValue) { pessoa.DtHrEdicao = Genericos.GetDateTimeFromBrazil(); } else { pessoa.DtHrCadastro = Genericos.GetDateTimeFromBrazil(); db.Pessoa.Add(pessoa); } db.SaveChanges(); }
/// <summary> /// Valida o objeto /// </summary> /// <param name="db"></param> /// <param name="viewModelError"></param> /// <param name="objeto"></param> /// <param name="formModel"></param> /// <returns></returns> public static bool ValidarObjeto(SBSCEntities db, ref ViewModelErrors viewModelError, Pessoa objeto, PessoaViewModel formModel) { if (formModel == null) throw new ArgumentNullException("formModel"); if (objeto == null) { viewModelError.AddModelError(string.Empty, Constantes.ORegistroNaoFoiEncontrado); return false; } #region Valida se já existe registro com nome igual var nomeIgual = db.Pessoa.Where(p => p.Nome.ToLower().Equals(formModel.Nome.Trim().ToLower())); if (formModel.Id.HasValue) nomeIgual = nomeIgual.Where(p => p.Id != formModel.Id.Value); if (nomeIgual.FirstOrDefault() != null) viewModelError.AddModelError("Nome", "Já existe uma pessoa com o 'Nome' informado."); #endregion #region Valida se já existe registro com código/matrícula igual if (!string.IsNullOrEmpty(formModel.CodigoMatricula)) { var codigoMatriculaIgual = db.Pessoa.Where(p => p.CodigoMatricula.ToLower().Equals(formModel.CodigoMatricula.Trim().ToLower())); if (formModel.Id.HasValue) codigoMatriculaIgual = codigoMatriculaIgual.Where(p => p.Id != formModel.Id.Value); if (codigoMatriculaIgual.FirstOrDefault() != null) viewModelError.AddModelError("CodigoMatricula", "Já existe uma pessoa com o 'Código/Matrícula' informado."); } #endregion #region Valida se já existe registro com login igual e se senha preenchida se login preenchido if (!string.IsNullOrEmpty(formModel.Login)) { var loginIgual = db.Pessoa.Where(p => p.Login.ToLower().Equals(formModel.Login.Trim().ToLower())); if (formModel.Id.HasValue) loginIgual = loginIgual.Where(p => p.Id != formModel.Id.Value); if (loginIgual.FirstOrDefault() != null) viewModelError.AddModelError("Login", "Já existe uma pessoa com o 'Login' informado."); // Valida se a senha está preenchida quando o login é preenchido na tela de cadastro if (string.IsNullOrEmpty(formModel.Senha) && !string.IsNullOrEmpty(objeto.Login)) viewModelError.AddModelError("Senha", "O campo 'Senha' é obrigatório."); } #endregion return viewModelError.IsValid; }
public static PessoaViewModel GetViewModel(Pessoa pessoa) { var viewModel = new PessoaViewModel { Id = pessoa.Id, TipoId = pessoa.Tipo, TipoText = EnumsHelper.GetText(typeof(Enumerations.Pessoa.TipoPessoa), (int)pessoa.Tipo), SexoId = pessoa.Sexo, SexoText = pessoa.Sexo.HasValue ? EnumsHelper.GetText(typeof(Enumerations.Pessoa.Sexo), (int)pessoa.Sexo) : string.Empty, CodigoMatricula = pessoa.CodigoMatricula, Login = pessoa.Login, Senha = pessoa.Senha, Nome = pessoa.Nome, Endereco = pessoa.Endereco, Bairro = pessoa.Bairro, CEP = pessoa.CEP, Cidade = pessoa.CEP, UFId = pessoa.UF, UFText = pessoa.UF.HasValue ? EnumsHelper.GetText(typeof(Enumerations.Pessoa.UF), (int)pessoa.UF) : string.Empty, Telefone = pessoa.Telefone, DtCadastro = pessoa.DtHrCadastro, DtCadastroText = pessoa.DtHrCadastro.ToShortDateString(), DtEdicao = pessoa.DtHrEdicao, DtEdicaoText = pessoa.DtHrEdicao.HasValue ? pessoa.DtHrEdicao.Value.ToShortDateString() : string.Empty }; return viewModel; }