public ActionResult Contacts(HelpViewModel model)
        {
            if (ModelState.IsValid)
            {
                EmailSettings settings = new EmailSettings();
                SmtpClient smtp = new SmtpClient();
                smtp.Host = settings.ServerName;
                smtp.Port = settings.ServerPort;
                smtp.EnableSsl = settings.UseSsl;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(settings.MailFromAddress, settings.password);

                using (var msg = new MailMessage(settings.MailFromAddress, settings.MailFromAddress))
                {
                    string message = string.Format("От {0}<br>E-mail {1}<br>Сообщение {2}<br>",
                        model.FullName, model.Email, model.Text);
                    msg.Subject = "Вопрос-Ответ"; //message;
                    msg.IsBodyHtml = true;
                    msg.Body = message;
                    try
                    {
                        smtp.Send(msg);
                    }
                    catch (Exception)
                    {
                        return RedirectToAction("NotFound", "Error");
                    }
                }
                return View("HelpConfirm", "", model);
            }
            return View(model);
        }
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {

                if (UserManager.Users.Any(t => t.Email == model.Email))
                {
                    ModelState.AddModelError("", "Пользователь с таким email уже зарегистрирован");
                    ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name", model.CountryId);
                    return View(model);
                }
                if (UserManager.Users.Any(t => t.PhoneNumber == model.Phone))
                {
                    ModelState.AddModelError("", "Пользователь с таким телефоном уже зарегистрирован");
                    ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name", model.CountryId);
                    return View(model);
                }

                var user = new ApplicationUser
                {
                    UserName = model.Email,
                    Email = model.Email,
                    FirstName = model.FirstName,
                    LastName = model.LastName,
                    MiddleName = model.MiddleName,
                    City = model.City,
                    CountryId = model.CountryId,
                    PhoneNumber = model.Phone
                };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    EmailSettings settings = new EmailSettings();
//                    await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                     var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                     await UserManager.SendEmailAsync(user.Id, "Регистрация " + settings.Link, GetRegisterMessge(settings.Link, callbackUrl));
                    return View("MustConfirmEmail", model);
                }
                AddErrors(result);
            }
            ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name",model.CountryId);
          return View(model);
        }
        public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByEmailOrPhoneAsync(model.Email);

                if (user == null)
                {
                    ModelState.AddModelError("", "Пользователь с таким e-mail не зарегистрирован.");
                    return View(model);
                }

                EmailSettings settings= new EmailSettings();
                string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
                var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                 await UserManager.SendEmailAsync(user.Id, "Восстановление пароля",
                    "Здравствуйте! <br/>Вы отправили запрос на восстановление пароля от аккаунта " + user.Email +
                    " .<br/>" +
                    "Для того чтобы задать новый пароль, перейдите по  <a href=\"" + callbackUrl + "\">ссылке</a>" +
                    "С уважением, команда <a href=\"" + settings.Link + "\">"+settings.Link+"</a>");
                 return RedirectToAction("ForgotPasswordConfirmation", "Account");
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult InformPayment(InformPaymentViewModel model)
        {
            if (ModelState.IsValid)
            {
                EmailSettings settings = new EmailSettings();
                SmtpClient smtp = new SmtpClient();
                smtp.Host = settings.ServerName;
                smtp.Port = settings.ServerPort;
                smtp.EnableSsl = settings.UseSsl;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(settings.MailFromAddress, settings.password);

                using (var msg = new MailMessage(settings.MailFromAddress, settings.MailFromAddress))
                {
                        string message= string.Format("Номер заказа {0}<br>Номер телефона {1}<br>Сумма оплаты {2}<br>Время платежа {3}",
                        model.OrderId, model.PhoneNumber, model.Total,model.TimePay);
                        msg.Subject = "Сообщение об оплате";//message;
                        msg.IsBodyHtml = true;
                        msg.Body = message;
                    try
                    {
                         smtp.Send(msg);
                    }
                    catch (Exception)
                    {
                        return RedirectToAction("NotFound", "Error");
                    }

                }
                return View("InformPaymentConfirm", "", model);
            }
            return View();
        }