public ActionResult CreateOrUpdateInfo(InfoVM info)
        {
            MVCLogin_dbEntities infodb = new MVCLogin_dbEntities();
            var personDetails          = infodb.People.Where(b => b.ID == info.PersonId).SingleOrDefault();
            var infoDetails            = infodb.Infoes.Where(b => b.PersonId == personDetails.ID).SingleOrDefault();

            if (personDetails != null && infoDetails != null)
            {
                string oldpass = "";
                oldpass                      = personDetails.Password;
                infoDetails.TelNo            = info.TelNo;
                currentInfoVM.TelNo          = info.TelNo;
                infoDetails.CellNo           = info.CellNo;
                currentInfoVM.CellNo         = info.CellNo;
                infoDetails.AddressLine1     = info.AddressLine1;
                currentInfoVM.AddressLine1   = info.AddressLine1;
                infoDetails.AddressLine2     = info.AddressLine2;
                currentInfoVM.AddressLine2   = info.AddressLine2;
                infoDetails.AddressLine3     = info.AddressLine3;
                currentInfoVM.AddressLine3   = info.AddressLine3;
                infoDetails.AddressCode      = info.AddressCode;
                currentInfoVM.AddressCode    = info.AddressCode;
                infoDetails.PostalAddress1   = info.PostalAddress1;
                currentInfoVM.PostalAddress1 = info.PostalAddress1;
                infoDetails.PostalAddress2   = info.PostalAddress2;
                currentInfoVM.PostalAddress2 = info.PostalAddress2;
                infoDetails.PostalCode       = info.PostalCode;
                currentInfoVM.PostalCode     = info.PostalCode;

                if (info.Password != null)
                {
                    personDetails.Password = info.Password;
                }
                else
                {
                    personDetails.Password = oldpass;
                }

                if (ModelState.IsValid)
                {
                    infodb.SaveChanges();
                    return(Json(true, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(false, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
 public ActionResult Authorize(Person personModel, LoginVM loginModel, InfoVM infoModel)
 {
     using (MVCLogin_dbEntities infodb = new MVCLogin_dbEntities())
     {
         personModel.UserName = loginModel.UserName;
         personModel.Password = loginModel.Password;
         int    usernameLength  = personModel.UserName.Length;
         string initial         = personModel.UserName[0].ToString();
         string surname         = personModel.UserName.Substring(1, usernameLength - 1);
         MVCLogin_dbEntities db = new MVCLogin_dbEntities(); // Person Table
         var personDetails      = db.People.Where(x => x.Name.Substring(0, 1) == initial.ToString() && x.Surname == surname && x.Password == personModel.Password).FirstOrDefault();
         if (personDetails == null)
         {
             loginModel.LoginErrorMessage = "Wrong username or password.";
             return(View("Index", loginModel));
         }
         else
         {
             var infoDetails = infodb.Infoes.Where(x => x.PersonId == personDetails.ID).FirstOrDefault();
             Session["userID"]        = personDetails.ID;
             infoModel.Name           = personDetails.Name;
             infoModel.Surname        = personDetails.Surname;
             infoModel.Password       = personDetails.Password;
             infoModel.PersonId       = personDetails.ID;
             infoModel.TelNo          = infoDetails.TelNo;
             infoModel.CellNo         = infoDetails.CellNo;
             infoModel.AddressLine1   = infoDetails.AddressLine1;
             infoModel.AddressLine2   = infoDetails.AddressLine2;
             infoModel.AddressLine3   = infoDetails.AddressLine3;
             infoModel.AddressCode    = infoDetails.AddressCode;
             infoModel.PostalAddress1 = infoDetails.PostalAddress1;
             infoModel.PostalAddress2 = infoDetails.PostalAddress2;
             infoModel.PostalCode     = infoDetails.PostalCode;
             // get prev login date
             if (personDetails.LastLogin != null)
             {
                 var prevLogin = personDetails.LastLogin;
             }
             // update with current login time
             personDetails.LastLogin = DateTime.Now;
             db.SaveChanges();
             infodb.SaveChanges();
             return(RedirectToAction("GetInfo", "Info", infoModel));
         }
     }
 }
        public ActionResult GetInfo(InfoVM infoModel)
        {
            MVCLogin_dbEntities infodb = new MVCLogin_dbEntities();

            // query for getting data from database from joining two tables and storing data in infolist
            var infolist = (from Pers in infodb.People
                            join Inf in infodb.Infoes on Pers.ID equals Inf.PersonId
                            select new
                            { Pers.Name, Pers.Surname, Pers.Password, Inf.TelNo, Inf.CellNo, Inf.AddressLine1, Inf.AddressLine2, Inf.AddressLine3, Inf.AddressCode, Inf.PostalAddress1, Inf.PostalAddress2, Inf.PostalCode, Inf.PersonId });

            //Using foreach loop to fill data from infolist to List<InfoVM>
            foreach (var item in infolist)
            {
                if (item.Name == infoModel.Name && item.Surname == infoModel.Surname && infoModel.Password == item.Password)
                {
                    currentInfoVM.Name           = item.Name;
                    currentInfoVM.Surname        = item.Surname;
                    currentInfoVM.TelNo          = item.TelNo;
                    currentInfoVM.CellNo         = item.CellNo;
                    currentInfoVM.AddressLine1   = item.AddressLine1;
                    currentInfoVM.AddressLine2   = item.AddressLine2;
                    currentInfoVM.AddressLine3   = item.AddressLine3;
                    currentInfoVM.AddressCode    = item.AddressCode;
                    currentInfoVM.PostalAddress1 = item.PostalAddress1;
                    currentInfoVM.PostalAddress2 = item.PostalAddress2;
                    currentInfoVM.PostalCode     = item.PostalCode;
                    currentInfoVM.PersonId       = item.PersonId;
                }
            }
            // Send List of InfoVM (ViewModel) to view
            if (infoModel.Name != null)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }