public ActionResult LoginUser(UserAccountTemplate userCredentials)
        {
            try
            {
                // TODO: Add insert logic here
                string urlWebService = $"http://localhost:63659/api/Login";
                string method        = "POST";
                //Se envia la petición al Web Service solicitando los datos del usuario creado
                var responseServer = RequestAPI.Request.Send <UserAccountTemplate>(urlWebService, userCredentials);
                var responseJSON   = responseServer.Data.ToString();
                UserAccountTemplate userAccountModel = JsonConvert.DeserializeObject <UserAccountTemplate>(responseJSON.ToString());

                //Serializamos la cadena JSON recibida por el web service en un objeto tipo CustomerTemplate
                if (userAccountModel.Status == 200)
                {
                    userAccountModel = JsonConvert.DeserializeObject <UserAccountTemplate>(userAccountModel.Data.ToString());
                    Session["User"]  = userAccountModel;
                    FormsAuthentication.SetAuthCookie(userAccountModel.Email, true);
                    ViewBag.Message = "Bienvenido";
                    return(RedirectToAction("Frutas", "Product", new { }));
                }
                else
                {
                    ViewBag.Message = "Datos De Acceso Incorrectos";
                    return(Index());
                }
            }
            catch
            {
                ViewBag.Message = "Error interno en el servicio, por favor, intente más tarde";
                return(Index());
            }
        }
Example #2
0
        public ActionResult ForgotPassword(VMModel <UserAccount> model)
        {
            var userAccount = this._managementUserAccountService.GetByEmailAddress(model.Record.EmailAddress);

            if (userAccount == null)
            {
                return(HttpNotFound());
            }

            var securityKey = ConfigurationManager.AppSettings["PasswordSecurityKey"];
            var encryptedID = PasswordEncryption.Encrypt($"{securityKey}_{userAccount.FirstOrDefault().ID}");

            this._emailAutomationService.SendEmail(
                to: model.Record.EmailAddress,
                subject: $"Recover Account - {model.Record.EmailAddress}",
                body: UserAccountTemplate.GetForgotPasswordTemplate(
                    encryptedID,
                    ConfigurationManager.AppSettings["Host"],
                    userAccount.FirstOrDefault().FirstName),
                fromName: "Trademarkers LLC.",
                isHtml: true);

            TempData.Add("ForgotPasswordInfo", model.Record.EmailAddress);

            return(RedirectToAction("Index", "Public"));
        }