Example #1
0
        public ActionResult ResetPasswordForUser(string Password)
        {
            UserLoginInformation loggedinUser = (UserLoginInformation)LoginController.ActiveUser;
            Encryption           eny          = new Encryption();
            string EncrptPassword             = eny.EncryptString(Password);

            loggedinUser.Password = EncrptPassword;
            _context.Entry(loggedinUser).State = EntityState.Modified;
            _context.SaveChanges();
            UserRegitrationForInitialLogin IntialLogin = _context.UserRegitrationForInitialLogins.SingleOrDefault(In => In.USERID.Equals(loggedinUser.USERID));

            IntialLogin.IsInitialLogin        = false;
            _context.Entry(IntialLogin).State = EntityState.Modified;
            _context.SaveChanges();
            return(Json(new { result = "Redirect", url = Url.Action("List", "UserDatatables") }));
        }
Example #2
0
        public ActionResult LoginCredentials(UserLoginInformation obj)
        {
            Encryption eny            = new Encryption();
            string     EncrptPassword = eny.EncryptString(obj.Password);
            var        user           = _context.UserLoginInformations.FirstOrDefault(x => x.EmailId.ToLower().Equals(obj.EmailId.ToLower()) && x.Password.ToLower().Equals(EncrptPassword.ToLower()) && x.IsActive == true && x.Status == 1);

            if (user != null)
            {
                if (!user.IsSuperAdmin)
                {
                    if (!user.IsOrganisationAdmin)
                    {
                        if (!user.IsFacilityAdmin)
                        {
                            TempData["errormsg"] = "You are not authorised to login, Please contact Administrator";
                            return(RedirectToAction("Login", "Login"));
                        }
                    }
                }
                ActiveUser = user;
                UserRegitrationForInitialLogin IntialLogin = _context.UserRegitrationForInitialLogins.FirstOrDefault(L => L.USERID.Equals(user.USERID));
                if (IntialLogin != null)
                {
                    if (IntialLogin.IsInitialLogin)
                    {
                        return(RedirectToAction("ResetPassword", "Login"));
                    }
                    else
                    {
                        return(RedirectToAction("List", "UserDatatables"));
                    }
                }
                else
                {
                    return(RedirectToAction("List", "UserDatatables"));
                }
            }

            TempData["errormsg"] = "Please Enter Correct Username And Password";
            return(RedirectToAction("Login", "Login"));
        }
        public string UpdateUser(UserLoginInformation ulinfo)
        {
            try
            {
                var loggedinUser = LoginController.ActiveUser;
                ulinfo.ModifiedById = loggedinUser.USERID.ToString();
                if (ulinfo.USERID == 0)
                {
                    ulinfo.CreatedById = loggedinUser.USERID.ToString();
                    ulinfo.CreatedDate = DateTime.Now;
                    ulinfo.Status      = 1; //insert record status
                    if (ulinfo.IsActive)
                    {
                        ulinfo.UserIsActive = true;
                    }
                    try
                    {
                        using (var transactionScope = new TransactionScope())
                        {
                            try
                            {
                                using (var db = new kryptoEntities1()) // Context object
                                {
                                    db.UserLoginInformations.Add(ulinfo);
                                    db.SaveChanges();

                                    if (ulinfo.USERID > 0)
                                    {
                                        if (ulinfo.IsActive)
                                        {
                                            ulinfo.ActivatedDate   = DateTime.Now;
                                            db.Entry(ulinfo).State = EntityState.Modified;
                                            db.SaveChanges();
                                            var useracive = new UserActivate
                                            {
                                                CreatedById = loggedinUser.USERID.ToString(),
                                                Date        = DateTime.Now,
                                                USERID      = ulinfo.USERID,
                                                IsActive    = ulinfo.IsActive,
                                                Status      = 1
                                            };
                                            db.UserActivates.Add(useracive);
                                            db.SaveChanges();
                                        }
                                    }

                                    var otherFacilityIds = ulinfo.OtherFacilityIds;
                                    if (ulinfo.USERID > 0 &&
                                        (otherFacilityIds != null && otherFacilityIds.Length > 0))
                                    {
                                        foreach (var eachid in otherFacilityIds)
                                        {
                                            var facilityid = int.Parse(eachid);
                                            db.UserFacilities.Add(new UserFacility
                                            {
                                                FacilityId   = facilityid,
                                                USERID       = ulinfo.USERID,
                                                Status       = 1,
                                                CreatedById  = loggedinUser.USERID.ToString(),
                                                CreatedDate  = DateTime.Now,
                                                ModifiedDate = DateTime.Now,
                                                ModifiedById = loggedinUser.USERID.ToString()
                                            });
                                        }
                                        db.SaveChanges();
                                    }
                                    if (ulinfo.USERID > 0)
                                    {
                                        var initiallogin =
                                            new UserRegitrationForInitialLogin
                                        {
                                            USERID            = ulinfo.USERID,
                                            Createdate        = DateTime.Now,
                                            IsInitialLogin    = true,
                                            IsTermsAccepted   = false,
                                            IsSecQuestEnabled = false,
                                            IsMpinCreated     = false,
                                            IsPasswordUpdated = false,
                                            Status            = 1,
                                            CreatedById       = loggedinUser.USERID.ToString(),
                                            ModifiedById      = loggedinUser.USERID.ToString()
                                        };
                                        initiallogin.ModifiedDate = initiallogin.Createdate;
                                        db.UserRegitrationForInitialLogins.Add(initiallogin);
                                        db.SaveChanges();
                                    }
                                }
                                transactionScope.Complete(); // transaction complete
                            }
                            catch (Exception ee)
                            {
                                return("FAIL");
                            }
                        }
                    }
                    catch (Exception exception)
                    {
                        return("FAIL");
                    }
                }
                else
                {
                    try
                    {
                        using (var transactionScope = new TransactionScope())
                        {
                            try
                            {
                                using (var db = new kryptoEntities1())
                                {
                                    ulinfo.ModifiedDate = DateTime.Now;
                                    var prevobj = _context.UserLoginInformations.Find(ulinfo.USERID);
                                    if (prevobj.IsActive != ulinfo.IsActive)
                                    {
                                        var activate = new UserActivate
                                        {
                                            IsActive    = !prevobj.IsActive,
                                            CreatedById = loggedinUser.USERID.ToString()
                                        };
                                        if (ulinfo.IsActive)
                                        {
                                            ulinfo.ActivatedDate = DateTime.Now;
                                            activate.Date        = ulinfo.ActivatedDate;
                                        }
                                        else
                                        {
                                            ulinfo.DeactivatedDate = DateTime.Now;
                                            activate.Date          = ulinfo.DeactivatedDate;
                                        }
                                        activate.USERID = prevobj.USERID;
                                        db.UserActivates.Add(activate);
                                    }
                                    ulinfo.UserIsActive = ulinfo.IsActive;
                                    ulinfo = Updateobject(ulinfo.USERID, ulinfo);
                                    db.Entry(ulinfo).State = EntityState.Modified;
                                    db.SaveChanges();

                                    var otherFacilityIdsAsints        = ulinfo.GetOtherFacilityIdsAsints();
                                    var facilityIdsInUserFacilityList = ulinfo.GetFacilityIdsInUserFacilityList();
                                    var toAdd    = ExcludedRight(facilityIdsInUserFacilityList, otherFacilityIdsAsints);
                                    var toDelete = ExcludedLeft(facilityIdsInUserFacilityList, otherFacilityIdsAsints);
                                    foreach (var @id in toAdd)
                                    {
                                        db.UserFacilities.Add(new UserFacility
                                        {
                                            FacilityId   = @id,
                                            USERID       = ulinfo.USERID,
                                            Status       = 1,
                                            CreatedById  = loggedinUser.USERID.ToString(),
                                            CreatedDate  = DateTime.Now,
                                            ModifiedDate = DateTime.Now,
                                            ModifiedById = loggedinUser.USERID.ToString()
                                        });
                                    }
                                    foreach (
                                        var existingUserFacility in
                                        toDelete.Select(
                                            id =>
                                            db.UserFacilities.SingleOrDefault(
                                                x =>
                                                x.FacilityId.Value.Equals(id) &&
                                                x.USERID.Equals(ulinfo.USERID))))
                                    {
                                        db.UserFacilities.Remove(existingUserFacility);
                                    }
                                    db.SaveChanges();
                                    if (ulinfo.IsActive == false)
                                    {
                                        RemoveUser(ulinfo.USERID);
                                    }
                                }
                                transactionScope.Complete();
                            }
                            catch (Exception ee)
                            {
                                return("FAIL");
                            }
                        }
                    }
                    catch (Exception exception)
                    {
                        return("FAIL");
                    }
                }
                if (ulinfo.USERID > 0 && ulinfo.IsActive)
                {
                    OtpSent(ulinfo, loggedinUser.USERID);
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return("FAIL");
            }
            return("SUCESS");
        }
        public string ResetPswd(int selecteduser)
        {
            var user        = _context.UserLoginInformations.Single(x => x.USERID.Equals(selecteduser));
            var info        = new KPTY_USER_FORGOT_PASS_OTP_REQ_TBL();
            var intialLogin = new UserRegitrationForInitialLogin();

            Session["OTPCount"] = 0;
            var otp = GenerateOTP(4);

            try
            {
                var loggedinUser = LoginController.ActiveUser;
                info.USERID       = user.USERID;
                info.ModifiedById = loggedinUser.USERID.ToString();
                info.CreatedById  = loggedinUser.USERID.ToString();
                info.CREATED_DATE = DateTime.Now;
                info.ModifiedDate = DateTime.Now;
                info.STATUS       = 1;
                info.OTPVAL       = otp;
                try
                {
                    using (var transactionScope = new TransactionScope())
                    {
                        try
                        {
                            using (var db = new kryptoEntities1()) // Context object
                            {
                                db.Database.ExecuteSqlCommand(
                                    "delete from KPTY_USER_FORGOT_PASS_OTP_REQ_TBL where UserId = {0}", selecteduser);
                                db.KPTY_USER_FORGOT_PASS_OTP_REQ_TBL.Add(info);
                                db.UserRegitrationForInitialLogins.Remove(
                                    db.UserRegitrationForInitialLogins.SingleOrDefault(u => u.USERID == selecteduser));

                                intialLogin.IsInitialLogin    = true;
                                intialLogin.IsTermsAccepted   = false;
                                intialLogin.IsSecQuestEnabled = false;
                                intialLogin.IsPasswordUpdated = false;
                                intialLogin.IsMpinCreated     = false;
                                intialLogin.Notes             = null;
                                intialLogin.Status            = 1;
                                intialLogin.ModifiedById      = loggedinUser.USERID.ToString();
                                intialLogin.ModifiedDate      = DateTime.Now;
                                intialLogin.USERID            = selecteduser;
                                intialLogin.Createdate        = DateTime.Now;
                                intialLogin.CreatedById       = loggedinUser.USERID.ToString();

                                db.UserRegitrationForInitialLogins.Add(intialLogin);
                                db.SaveChanges();
                                db.Database.ExecuteSqlCommand("delete from KPTY_USER_SECQURITY_QUEST_ANS where UserId = {0}", selecteduser);
                                Encryption eny            = new Encryption();
                                string     EncrptPassword = eny.EncryptString(otp.ToString());
                                user.Password        = EncrptPassword;
                                user.ModifiedById    = loggedinUser.USERID.ToString();
                                user.ModifiedDate    = DateTime.Now;
                                db.Entry(user).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                            transactionScope.Complete();
                            // transaction complete
                            var recemail = user.EmailId;
                            if (!SendOTPMail(otp, recemail, user.FirstName))
                            {
                                return("Invalid Email");
                            }
                        }
                        catch (Exception ee)
                        {
                            return("FAIL");
                        }
                    }
                }
                catch (Exception exception)
                {
                    return("FAIL");
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return("FAIL");
            }

            return("SUCESS");
        }
        public string ResetPswd(int selecteduser)
        {
            UserLoginInformation user = _context.UserLoginInformations.SingleOrDefault(x => x.USERID.Equals(selecteduser));
            KPTY_USER_FORGOT_PASS_OTP_REQ_TBL info        = new KPTY_USER_FORGOT_PASS_OTP_REQ_TBL();
            UserRegitrationForInitialLogin    IntialLogin = new UserRegitrationForInitialLogin();

            Session["OTPCount"] = 0;
            var OTP = GenerateOTP(4);

            try
            {
                UserLoginInformation loggedinUser = (UserLoginInformation)LoginController.ActiveUser;
                //ResetOTPStatus(loggedinUser.USERID);
                info.USERID       = user.USERID;
                info.ModifiedById = loggedinUser.USERID.ToString();
                info.CreatedById  = loggedinUser.USERID.ToString();
                info.CREATED_DATE = DateTime.Now;
                info.ModifiedDate = DateTime.Now;
                info.STATUS       = 1;
                info.OTPVAL       = OTP;
                try
                {
                    using (TransactionScope transactionScope = new TransactionScope())
                    {
                        try
                        {
                            using (kryptoEntities1 db = new kryptoEntities1()) // Context object
                            {
                                db.Database.ExecuteSqlCommand("delete from KPTY_USER_FORGOT_PASS_OTP_REQ_TBL where UserId = {0}", selecteduser);

                                db.KPTY_USER_FORGOT_PASS_OTP_REQ_TBL.Add(info);
                                db.SaveChanges();

                                db.Database.ExecuteSqlCommand("delete from UserRegitrationForInitialLogin where UserId = {0}", selecteduser);

                                IntialLogin.IsInitialLogin    = true;
                                IntialLogin.IsTermsAccepted   = false;
                                IntialLogin.IsSecQuestEnabled = false;
                                IntialLogin.IsPasswordUpdated = false;
                                IntialLogin.IsMpinCreated     = false;
                                IntialLogin.Notes             = null;
                                IntialLogin.Status            = 1;
                                IntialLogin.ModifiedById      = loggedinUser.USERID.ToString();
                                IntialLogin.ModifiedDate      = DateTime.Now;
                                IntialLogin.USERID            = selecteduser;
                                IntialLogin.Createdate        = DateTime.Now;
                                IntialLogin.CreatedById       = loggedinUser.USERID.ToString();

                                db.UserRegitrationForInitialLogins.Add(IntialLogin);
                                db.SaveChanges();
                            }
                            transactionScope.Complete();
                            // transaction complete
                            var recemail = user.EmailId;
                            var msg      = "Dear User,\n\n Your request to process the reset password is successful and your new OTP generated is  " + OTP + " . Please use it to login again. \n This is system generated message please do not reply.";

                            bool x1 = SendEmail("Your Password has been reset", msg, recemail, user.FirstName);
                            if (!x1)
                            {
                                return("Invalid Email");
                            }
                        }

                        catch (Exception ee)
                        {
                            return("FAIL");
                        }
                    }
                }
                catch (Exception exception)
                {
                    return("FAIL");
                }
            }

            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return("FAIL");
            }


            return("SUCESS");
        }