//Метод занесения данных мастера в бд
 public static bool SendMaster(RegisterMasterModel model)
 {
     try
     {
         using (UserContext DbUse = new UserContext())
         {
             DbUse.ResidentModels.Add(new ResidentModel()
             {
                 Name       = model.Name,
                 Surname    = model.Surname,
                 Patronymic = model.Patronymic,
                 Email      = model.Email,
                 Phone      = model.PhoneNumber,
                 City       = model.City,
                 Offers     = model.Offers,
                 Experience = model.Expirience,
                 Awards     = model.Awards,
                 Password   = GetData.GetHash(model.Password),
                 IsAdmin    = false
             });
             DbUse.SaveChanges();
         }
     }
     catch (Exception e)
     {
         return(true);
     }
     return(true);
 }
        // Метод изменения данных мастера в бд
        public static bool ChangeResident(RegisterMasterModel model)
        {
            try
            {
                using (UserContext dbUse = new UserContext())
                {
                    ResidentModel user = dbUse.ResidentModels.FirstOrDefault(t => t.Id == model.id);

                    if (user == null)
                    {
                        return(false);
                    }
                    user.Name       = model.Name;
                    user.Surname    = model.Surname;
                    user.Awards     = model.Awards;
                    user.Offers     = model.Offers;
                    user.Phone      = model.PhoneNumber;
                    user.Patronymic = model.Patronymic;
                    user.Experience = model.Expirience;
                    dbUse.ResidentModels.AddOrUpdate(user);
                    dbUse.SaveChanges();
                    return(true);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        //Обновление данных о мастере
        public ActionResult UpdateResident(RegisterMasterModel model, HttpPostedFileBase upload)
        {
            UserContext db = new UserContext();



            byte[] imageData = null;
            // считываем переданный файл в массив байтов
            if (upload == null)
            {
                imageData = new byte[] {};
            }
            else
            {
                using (var binaryReader = new BinaryReader(upload.InputStream))
                {
                    imageData = binaryReader.ReadBytes(upload.ContentLength);
                }
            }

            // установка массива байтов
            model.Picture = imageData;

            if (model.Picture.Length != 0)
            {
                Utilities.SendDbUtility.CreatePicture(model.Picture, model.id);
            }



            if (model.Offers == null)
            {
                TempData["WrongMessage"] = "Выберите предоставляемые услуги!";
                return(RedirectToAction("PersonalData", "TimerClub"));
            }

            //Если пароль введен верно
            if (SendDbUtility.ComparePassword(model.Password, User.Identity.Name))
            {
                Utilities.SendDbUtility.ChangeResident(model);
                TempData["SuccessMessage"] = "Данные изменены!";
                return(RedirectToAction("PersonalData", "TimerClub"));
            }
            else
            {
                TempData["WrongMessage"] = "Пароль введен не верно!";
                return(RedirectToAction("PersonalData", "TimerClub"));
            }
        }
 public static bool SendPictureToDb(RegisterMasterModel model)
 {
     try
     {
         if (model != null)
         {
             string path =
                 HostingEnvironment.ApplicationHost.GetPhysicalPath() + $@"\ResidenAvatar\{model.id.ToString()}.jpg";
             //model.Picture = RotateImage(File.ReadAllBytes(path));
             model.Picture = File.ReadAllBytes(path);
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
        public ActionResult PersonalData()
        {
            ViewBag.wrongMessage   = TempData["WrongMessage"];
            ViewBag.successMessage = TempData["SuccessMessage"];
            RegisterMasterModel model = new RegisterMasterModel(Utilities.GetData.GetDataResident(User.Identity.Name));

            if (model.Picture == null)
            {
                Utilities.SendDbUtility.SendPictureToDb(model);
            }


            model.Password = string.Empty;
            if (Request.Cookies.AllKeys.Contains("SalonId"))
            {
                ViewBag.IsAdminOfSalon = true;
            }
            else
            {
                ViewBag.IsAdminOfSalon = false;
            }
            return(View(model));
        }
        public ActionResult RegisterMaster(RegisterMasterModel model)
        {
            //FormsAuthentication.SetAuthCookie("Васильев Вася", false);
            // Если такой емайл уже есть в бд
            if (SendDbUtility.CheckEmail(model.Email))
            {
                TempData["WrongMessage"] = "Такой email уже зарегистрирован!";
                return(RedirectToAction("MainPage", "TimerClub"));
            }

            // Если такой телефон уже есть в бд
            if (SendDbUtility.CheckPhone(model.PhoneNumber))
            {
                TempData["WrongMessage"] = "Такой номер телефона уже зарегистрирован!";
                return(RedirectToAction("MainPage", "TimerClub"));
            }

            // Заносим модель в бд
            Utilities.SendDbUtility.SendMaster(model);

            FormsAuthentication.SetAuthCookie(model.Email, true);
            var resident = GetData.GetDataResident(model.Email);

            Response.Cookies["ResidentName"].Value    = Server.UrlEncode(resident.Name);
            Response.Cookies["ResidentSurname"].Value = Server.UrlEncode(resident.Surname);
            Response.Cookies["City"].Value            = Server.UrlEncode(resident.City);

            var cookie = new HttpCookie("SalonId")
            {
                Expires = DateTime.Now.AddDays(-1d)
            };

            Response.Cookies.Add(cookie);

            return(RedirectToAction("FindWorkPlaces", "TimerClub"));
        }