public ActionResult Update(Parent parent)
        {
            var _parent = new Parent();
            List <DbValidationError> errors = service.Validate(parent);

            if (errors.Count != 0)
            {
                return(Json(new
                {
                    errors = errors,
                    parent = _parent
                }));
            }

            _parent = service.Update(parent);

            //If the parent status is active must send an email advising about it
            if (_parent.Status.Id == STATUS_ACTIVE)
            {
                var         subject = "Acesso liberado ao Portal Vovó Chiquita. Uhuuul.";
                string      message = System.IO.File.ReadAllText(Server.MapPath("~/ViewsEmails/AccessGranted.html")).Replace("##PARENT-NAME##", parent.Name);
                List <User> admins  = new MealEntities().User.Where(s => s.Type.Id == USER_TYPE_ADMIN).ToList();

                var email = new Email {
                    Mailto = _parent.Email, Subject = subject, Body = message
                };

                try
                {
                    new Mailer(email).Send();
                }
                catch (Exception ex)
                {
                    var msg = ex.InnerException != null ? ex.InnerException.Message : ex.Message;

                    errors.Add(new DbValidationError(
                                   "Erro no envio do email", "O status do usuário foi alterado com sucesso. Porém o erro abaixo ocorreu ao enviar o e-mail ao usuário."));

                    errors.Add(new DbValidationError(
                                   "Mensagem do erro", msg));
                }
            }

            return(Json(new
            {
                errors = errors,
                parent = _parent
            }));
        }
Esempio n. 2
0
        public Parent Insert(Parent parent)
        {
            var entity = new MealEntities();

            parent.Status = entity.Status.FirstOrDefault(s => s.Id == STATUS_WAITING_EVALUATION);
            //Set user period by period id
            parent.Students.ForEach(s =>
            {
                s.Period = entity.Period.First(p => p.Id == s.Period.Id);
            });

            var model = entity.Parent.Add(parent);

            entity.SaveChanges();
            return(model);
        }
Esempio n. 3
0
        public ActionResult Validate(User user)
        {
            //var x = BCrypt.Net.BCrypt.HashPassword("");
            //var Password = BCrypt.Net.BCrypt.HashPassword(user.Password);

            var entites = new MealEntities();
            var model   = entites.User.FirstOrDefault(u => u.UserName == user.UserName);

            if (model == null)
            {
                return(new HttpStatusCodeResult((HttpStatusCode)404, "Usuário/Senha inválida."));
            }

            if (!BCrypt.Net.BCrypt.Verify(user.Password, model.Password))
            {
                return(new HttpStatusCodeResult((HttpStatusCode)404, "Usuário/Senha inválida."));
            }

            if (model.Status.Id == 2)
            {
                return(new HttpStatusCodeResult((HttpStatusCode)412, "Usuário está inativo."));
            }
            else if (model.Status.Id == 3)
            {
                return(new HttpStatusCodeResult((HttpStatusCode)412, "Usuário aguardando analise."));
            }
            else if (model.Status.Id == 4)
            {
                return(new HttpStatusCodeResult((HttpStatusCode)403, "Usuário bloqueado."));
            }

            var cookie = new HttpCookie("meal_user")
            {
                Value   = new JavaScriptSerializer().Serialize(model),
                Expires = DateTime.Now.AddDays(1)// In the next day it will be created again
            };

            Response.Cookies.Add(cookie);

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }
Esempio n. 4
0
        public Parent Update(Parent parent)
        {
            var entity = new MealEntities();

            Parent _parent = entity.Parent.SingleOrDefault(s => s.Id == parent.Id);

            entity.Phone.RemoveRange(_parent.Phone);
            entity.Students.RemoveRange(_parent.Students);
            entity.Parent.Remove(_parent);

            parent.Students.ForEach(student =>
            {
                student.Period = Entity.Period.Find(student.Period.Id);
            });

            parent.Status     = entity.Status.Find(parent.Status.Id);
            parent.Status     = entity.Status.FirstOrDefault(x => x.Id == parent.Status.Id);
            parent.ModifiedAt = DateTime.Now;
            entity.Parent.Add(parent);

            return(entity.SaveChanges() > 0 ? parent : null);
        }
 public BaseController()
 {
     entity = new MealEntities();
 }
Esempio n. 6
0
 public void Initialize()
 {
     entity = new MealEntities();
 }