Пример #1
0
        public ActionResult Login(LoginViewModel formModel)
        {
            var viewModelError = new ViewModelErrors();

            if (ModelState.IsValid)
            {
                var _pessoa = new Pessoa();

                if (LoginModel.ValidarLogin(db, ref viewModelError, formModel, out _pessoa))
                {
                    var cookieData = string.Format("Autorize-{0}-{1}-{2}", _pessoa.Tipo, _pessoa.Id, _pessoa.Login);

                    FormsAuthentication.SetAuthCookie(cookieData, false);

                    if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
                        Response.Redirect(Request.QueryString["ReturnUrl"]);
                    else
                        return RedirectToAction("Index", "Home");
                }
            }

            ModelState.MergeErrors(viewModelError);

            this.AddNotification(Constantes.NaoFoiPossivelExecutarAOperacaoPorFavorVerifiqueAsMensagensDeValidacao, NotificationType.ERROR);

            formModel.Senha = string.Empty;

            ViewBag.Title = "Login";

            return View(formModel);
        }
Пример #2
0
        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();
        }
Пример #3
0
        /// <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;
        }
Пример #4
0
        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;
        }