public ActionResult LoadRegistrationForm(int?UsrId = 0)
        {
            var registrationViewModelObj = new RegistrationForm.ViewModels.RegistrationViewModel();

            if (UsrId != null && UsrId > 0)
            {
                var usr = _db.User.FirstOrDefault(u => u.Id == UsrId);
                registrationViewModelObj           = new RegistrationForm.ViewModels.RegistrationViewModel();
                registrationViewModelObj.Countries = new SelectList(GetAllCountries(usr.CountryId), "Id", "CountryName");
                registrationViewModelObj.States    = new SelectList(GetAllStates().Where(s => s.Id == usr.StateId).ToList(), "Id", "StateName");
                registrationViewModelObj.Skills    = _db.Skill.ToList();
                registrationViewModelObj.User      = usr;
                DateTime.TryParse(usr.DOB.ToString(), out DateTime date);
                registrationViewModelObj.DOBString = date.ToString("yyyy-MM-dd");


                var Img = _db.Image.FirstOrDefault(img => img.UserId == UsrId).ImageName;
                registrationViewModelObj.ImageFilePath = Img;
                registrationViewModelObj.conList       = GetAllCountries().Where(c => c.Id == usr.CountryId).ToList();
                registrationViewModelObj.stateList     = GetAllStates().Where(s => s.CountryId == registrationViewModelObj.conList[0].Id).ToList();
            }
            else
            {
                registrationViewModelObj.Countries = new SelectList(GetAllCountries(), "Id", "CountryName");
                registrationViewModelObj.States    = new SelectList(GetAllStates(), "Id", "StateName");
                registrationViewModelObj.Skills    = _db.Skill.ToList();
                DateTime?today = DateTime.Today;
                var      U     = new User();
                registrationViewModelObj.User      = U;
                registrationViewModelObj.User.DOB  = DateTime.Now;
                registrationViewModelObj.conList   = GetAllCountries();
                registrationViewModelObj.stateList = GetAllStates().Where(s => s.CountryId == registrationViewModelObj.conList[0].Id).ToList();
            }
            return(View("RegistrationFormV3", registrationViewModelObj));
        }
        public ActionResult LoadUserGrid(string ColumnName = "none")
        {
            var Users = _db.User.ToList();
            var registrationViewModelObjList = new List <RegistrationViewModel>();

            foreach (var usr in Users)
            {
                var registrationViewModelObj = new RegistrationForm.ViewModels.RegistrationViewModel();
                registrationViewModelObj           = new RegistrationForm.ViewModels.RegistrationViewModel();
                registrationViewModelObj.Countries = new SelectList(GetAllCountries(usr.CountryId), "Id", "CountryName");
                registrationViewModelObj.States    = new SelectList(GetAllStates().Where(s => s.Id == usr.StateId).ToList(), "Id", "StateName");
                registrationViewModelObj.Skills    = _db.Skill.ToList();
                registrationViewModelObj.User      = usr;
                registrationViewModelObj.User.DOB  = DateTime.Now;
                var Img = _db.Image.FirstOrDefault(img => img.UserId == usr.Id).ImageName;
                registrationViewModelObj.ImageFilePath = Img;
                registrationViewModelObjList.Add(registrationViewModelObj);
            }
            // return View(ShortListBasedOnColumn(registrationViewModelObjList, ColumnName));
            numberOdUsers     = registrationViewModelObjList.Count();
            noOfPages         = (double)Math.Round((decimal)registrationViewModelObjList.Count() / 5);
            ViewBag.noOfPages = noOfPages + 1;
            registrationViewModelObjList[0].noOfPages = noOfPages + 1;
            userList = registrationViewModelObjList;
            int skip = Convert.ToInt32(ViewBag.skippedRecords);

            registrationViewModelObjList = registrationViewModelObjList?.Skip(skip).Take(5).ToList();
            return(View(registrationViewModelObjList));
        }
        public ActionResult RegisterUser(RegistrationForm.ViewModels.RegistrationViewModel registrationViewModelObj)
        {
            User usr = new User();

            _db.Database.BeginTransaction();
            var trns = _db.Database.CurrentTransaction;

            try {
                if (registrationViewModelObj != null)
                {
                    usr.CountryId    = registrationViewModelObj.User.CountryId;
                    usr.StateId      = registrationViewModelObj.User.StateId;
                    usr.FullName     = registrationViewModelObj.User.FullName;
                    usr.DOB          = registrationViewModelObj.User.DOB;
                    usr.EmailAddress = registrationViewModelObj.User.EmailAddress;
                    usr.MobileNo     = registrationViewModelObj.User.MobileNo;
                }
                _db.User.Add(usr);
                Image image       = new Image();
                var   imgNameGuid = Guid.NewGuid();
                if (registrationViewModelObj?.ImageFile != null)
                {
                    image = new Image {
                        UserId = usr.Id, ImageName = registrationViewModelObj.ImageFile.FileName
                    };
                }
                _db.Image.Add(image);

                var diskSaveFileName = registrationViewModelObj.ImageFile.FileName;
                SaveImageOnDisk(registrationViewModelObj.ImageFile, diskSaveFileName);
                _db.SaveChanges();
                trns.Commit();
                return(LoadRegistrationForm(usr.Id));
            }

            catch (Exception Ex) {
                trns.Rollback();
            }



            return(LoadRegistrationForm());
        }