Ejemplo n.º 1
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                WebApiPruebaContext db   = new WebApiPruebaContext();
                ApplicationUser     user = UserManager.FindByName(model.Email);
                if (user.Email == WebConfigurationManager.AppSettings["AdminUser"])
                {
                    return(RedirectToLocal(returnUrl));
                }
                else
                {
                    var usuario = db.Users.Where(u => u.UserName == user.Email).FirstOrDefault();
                    if (usuario != null)
                    {
                        Session["Logo"] = usuario.Company.Logo;
                    }
                }
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
Ejemplo n.º 2
0
 private void SendEmail(string to, string from, string password, string subject, string body)
 {
     using (MailMessage mm = new MailMessage(from, to))
     {
         mm.Subject    = subject;
         mm.Body       = body;
         mm.IsBodyHtml = true;
         SmtpClient smtp = new SmtpClient();
         smtp.Host      = "smtp.gmail.com";
         smtp.EnableSsl = true;
         NetworkCredential NetworkCred = new NetworkCredential(from, password);
         smtp.UseDefaultCredentials = true;
         smtp.Credentials           = NetworkCred;
         smtp.Port = 587;
         using (var context = new WebApiPruebaContext())
         {
             try
             {
                 smtp.Send(mm);
                 var emailStatus = new EmailSendStatus
                 {
                     Email = to,
                     Send  = true
                 };
                 context.EmailSendStatus.Add(emailStatus);
                 context.SaveChanges();
             }
             catch (Exception ex)
             {
                 var emailStatus = new EmailSendStatus
                 {
                     Email = to,
                     Send  = false
                 };
                 context.EmailSendStatus.Add(emailStatus);
                 context.SaveChanges();
             }
         }
     }
 }
Ejemplo n.º 3
0
        public ActionResult Edit(User user, string rol)
        {
            if (ModelState.IsValid)
            {
                if (user.PhotoFile != null)
                {
                    var folder   = "~/Content/Users";
                    var file     = string.Format("{0}.jpg", user.UserId);
                    var response = FilesHelper.UploadPhoto(user.PhotoFile, folder, file);
                    if (response)
                    {
                        var pic = string.Format("{0}/{1}", folder, file);
                        user.Photo           = pic;
                        db.Entry(user).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }

                var db2         = new WebApiPruebaContext();
                var currentUser = db2.Users.Find(user.UserId);

                UsersHelper.DeleteUser(currentUser.UserName);
                if (rol == "1")
                {
                    UsersHelper.CreateUserASP(user.UserName, "User");
                }
                if (rol == "2")
                {
                    UsersHelper.CreateUserASP(user.UserName, "Digitador");
                }
                if (rol == "3")
                {
                    UsersHelper.CreateUserASP(user.UserName, "Reunion");
                }
                if (rol == "4")
                {
                    UsersHelper.CreateUserASP(user.UserName, "Secretario");
                }

                db.Entry(user).State = EntityState.Modified;
                try
                {
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null &&
                        ex.InnerException.InnerException != null &&
                        ex.InnerException.InnerException.Message.Contains("_Index"))
                    {
                        ModelState.AddModelError(string.Empty, "Ya existe un Registro con esa descripción");
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, ex.ToString());
                    }
                }
            }
            ViewBag.CountryId = new SelectList(
                CombosHelper.GetCountries(),
                "CountryId",
                "Name",
                user.CountryId);

            ViewBag.CityId = new SelectList(
                CombosHelper.GetCities(),
                "CityId",
                "Name",
                user.CityId);

            ViewBag.CompanyId = new SelectList(
                CombosHelper.GetCompanies(),
                "CompanyId",
                "Name",
                user.CompanyId);

            ViewBag.DepartmentId = new SelectList(
                CombosHelper.GetDepartments(),
                "DepartmentId",
                "Name",
                user.DepartmentId);

            List <SelectListItem> muser = new List <SelectListItem>();

            muser.Add(new SelectListItem {
                Text = "Seleccione un rol", Value = "0"
            });
            muser.Add(new SelectListItem {
                Text = "Administrador", Value = "1"
            });
            muser.Add(new SelectListItem {
                Text = "Digitador", Value = "2"
            });
            muser.Add(new SelectListItem {
                Text = "Reuniones", Value = "3"
            });
            muser.Add(new SelectListItem {
                Text = "Secretario", Value = "4"
            });
            ViewData["rol"] = muser;
            return(View(user));
        }