public string AddUpdateUserLoginTime(UserLoginTimeVM model) { string id = string.Empty; SqlParameter[] parameters = { new SqlParameter { ParameterName = "@TutorId", Value = model.TutorId }, new SqlParameter { ParameterName = "@ConfigurationType", Value = model.ConfigurationType }, new SqlParameter { ParameterName = "@LoginStartTime", Value = model.LoginStartTime }, new SqlParameter { ParameterName = "@LoginEndTime", Value = model.LoginEndTime }, new SqlParameter { ParameterName = "@IsActive", Value = model.IsActive }, new SqlParameter { ParameterName = "@CreatedBy", Value = model.CreatedBy }, new SqlParameter { ParameterName = "@UpdatedBy", Value = model.UpdatedBy } }; id = Convert.ToString(DALHelper.ExecuteScalar("AddUpdateUserLoginTime", parameters)); return(id); }
public ActionResult UserLoginTime() { var userLoginDetails = userRepository.GetUserLoginTimeByTutor(LogInManager.LoggedInUser.Id); UserLoginTimeVM model = new UserLoginTimeVM(); model.TutorId = LogInManager.LoggedInUser.Id; model.ConfigurationType = UserLoginConfigurationType.RESTRICTED; if (userLoginDetails != null && userLoginDetails.Count > 0) { var userLoginDetail = userLoginDetails[0]; model.ConfigurationType = userLoginDetail.ConfigurationType; model.LoginStartTime = userLoginDetail.LoginStartTime; model.LoginEndTime = userLoginDetail.LoginEndTime; model.UserName = userLoginDetail.UserName; if (model.LoginStartTime != null && model.LoginStartTime.HasValue) { DateTime startTime = DateTime.Today.Add(model.LoginStartTime.Value); model.LoginStartTimeText = startTime.ToString("HH:mm"); } if (model.LoginEndTime != null && model.LoginEndTime.HasValue) { DateTime endTime = DateTime.Today.Add(model.LoginEndTime.Value); model.LoginEndTimeText = endTime.ToString("HH:mm"); } //Get user's login time configuration setting var loginTimeConfigurations = userRepository.GetUserLoginTimeConfigurationByTutor(LogInManager.LoggedInUser.Id, null); if (loginTimeConfigurations != null && loginTimeConfigurations.Count > 0) { foreach (var item in loginTimeConfigurations) { if (item.IsAllowLogin) { DateTime startTime = DateTime.Today.Add(item.LoginStartTime.Value); item.LoginStartTimeText = startTime.ToString("HH:mm"); DateTime endTime = DateTime.Today.Add(item.LoginEndTime.Value); item.LoginEndTimeText = endTime.ToString("HH:mm"); } } model.Configurations = loginTimeConfigurations; } else { List <UserLoginTimeConfigurationVM> configurations = new List <UserLoginTimeConfigurationVM>(); for (int i = 0; i < 7; i++) // Sunday to Saturday { UserLoginTimeConfigurationVM objTimeConfiguration = new UserLoginTimeConfigurationVM(); objTimeConfiguration.WeekDay = i; objTimeConfiguration.IsAllowLogin = false; objTimeConfiguration.LoginStartTimeText = string.Empty; objTimeConfiguration.LoginEndTimeText = string.Empty; configurations.Add(objTimeConfiguration); } model.Configurations = configurations; } } return(View(model)); }
public ActionResult UserLoginTime(UserLoginTimeVM model) { try { DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now; if (model.ConfigurationType == UserLoginConfigurationType.SET_LIMIT) { #region Add/Update Time Configuration Setting if (model.Configurations != null && model.Configurations.Count > 0) { var loginTimeConfigurations = userRepository.GetUserLoginTimeConfigurationByTutor(LogInManager.LoggedInUser.Id, null); if (loginTimeConfigurations != null && loginTimeConfigurations.Count > 0) { for (int i = 0; i < 7; i++) // Sunday to Saturday { var existingTimeConfiguration = loginTimeConfigurations.Where(p => p.WeekDay == i).FirstOrDefault(); var newTimeConfiguration = model.Configurations.Where(p => p.WeekDay == i).FirstOrDefault(); if (existingTimeConfiguration != null) { existingTimeConfiguration.IsAllowLogin = newTimeConfiguration.IsAllowLogin; if (existingTimeConfiguration.IsAllowLogin) { string todayDate = DateTime.Now.ToString("dd/MM/yyyy"); string dateStart = (todayDate + " " + newTimeConfiguration.LoginStartTimeText); startTime = Convert.ToDateTime(dateStart); string dateEnd = (todayDate + " " + newTimeConfiguration.LoginEndTimeText); endTime = Convert.ToDateTime(dateEnd); existingTimeConfiguration.LoginStartTime = startTime.TimeOfDay; existingTimeConfiguration.LoginEndTime = endTime.TimeOfDay; } else { existingTimeConfiguration.LoginStartTime = null; existingTimeConfiguration.LoginEndTime = null; } existingTimeConfiguration.TutorId = LogInManager.LoggedInUser.Id; existingTimeConfiguration.WeekDay = newTimeConfiguration.WeekDay; existingTimeConfiguration.UpdatedBy = LogInManager.LoggedInUserId; //Update existing configuration userRepository.UpdateUserLoginTimeConfiguration(existingTimeConfiguration); } else { if (newTimeConfiguration.IsAllowLogin) { string todayDate = DateTime.Now.ToString("dd/MM/yyyy"); string dateStart = (todayDate + " " + newTimeConfiguration.LoginStartTimeText); startTime = Convert.ToDateTime(dateStart); string dateEnd = (todayDate + " " + newTimeConfiguration.LoginEndTimeText); endTime = Convert.ToDateTime(dateEnd); newTimeConfiguration.LoginStartTime = startTime.TimeOfDay; newTimeConfiguration.LoginEndTime = endTime.TimeOfDay; } else { newTimeConfiguration.LoginStartTime = null; newTimeConfiguration.LoginEndTime = null; } newTimeConfiguration.TutorId = LogInManager.LoggedInUser.Id; newTimeConfiguration.CreatedBy = LogInManager.LoggedInUserId; //Add new configuration userRepository.AddUserLoginTimeConfiguration(newTimeConfiguration); } } } else { for (int i = 0; i < 7; i++) // Sunday to Saturday { var newTimeConfiguration = model.Configurations.Where(p => p.WeekDay == i).FirstOrDefault(); if (newTimeConfiguration != null) { if (newTimeConfiguration.IsAllowLogin == true) { string todayDate = DateTime.Now.ToString("dd/MM/yyyy"); string dateStart = (todayDate + " " + newTimeConfiguration.LoginStartTimeText); startTime = Convert.ToDateTime(dateStart); string dateEnd = (todayDate + " " + newTimeConfiguration.LoginEndTimeText); endTime = Convert.ToDateTime(dateEnd); newTimeConfiguration.LoginStartTime = startTime.TimeOfDay; newTimeConfiguration.LoginEndTime = endTime.TimeOfDay; } else { newTimeConfiguration.LoginStartTime = null; newTimeConfiguration.LoginEndTime = null; } newTimeConfiguration.TutorId = LogInManager.LoggedInUser.Id; newTimeConfiguration.CreatedBy = LogInManager.LoggedInUserId; //Add new configuration userRepository.AddUserLoginTimeConfiguration(newTimeConfiguration); } } } } #endregion } else { #region Delete Time Configuration Setting If Exist userRepository.DeleteUserLoginTimeConfigurationByTutor(LogInManager.LoggedInUser.Id, LogInManager.LoggedInUserId); #endregion } #region Add / Update User Login Time model.LoginStartTime = null; model.LoginEndTime = null; model.TutorId = LogInManager.LoggedInUser.Id; model.CreatedBy = LogInManager.LoggedInUserId; model.UpdatedBy = LogInManager.LoggedInUserId; model.IsActive = true; userRepository.AddUpdateUserLoginTime(model); #endregion #region Set Configuration to Restricted After End Time Limit Reach //if (model.ConfigurationType == UserLoginConfigurationType.SET_LIMIT) //{ // DateTime currentTime = DateTime.Now; // if(currentTime < startTime) // { // double totalMinutes = ((endTime - currentTime).TotalMinutes + 1); // //Start Background Schedule Job (Execute only once) // BackgroundJob.Schedule(() => SetStudentLoginTimeToRestrict(model.TutorId), TimeSpan.FromMinutes(totalMinutes)); // } // else if(currentTime > startTime && currentTime < endTime) //Between Start & End Time // { // double totalMinutes = ((endTime - currentTime).TotalMinutes + 1); // //Start Background Schedule Job (Execute only once) // BackgroundJob.Schedule(() => SetStudentLoginTimeToRestrict(model.TutorId), TimeSpan.FromMinutes(totalMinutes)); // } // else if(endTime < currentTime) // { // DateTime scheduleDate = endTime.AddDays(1); // scheduleDate = scheduleDate.AddMinutes(1); // //Start Background Schedule Job (Execute only once) // BackgroundJob.Schedule(() => SetStudentLoginTimeToRestrict(model.TutorId), scheduleDate.TimeOfDay); // } //} #endregion return(Json(new { IsSuccess = true }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { Utility.Utility.LogError(e, "UserLoginTime"); return(Json(new { IsSuccess = false, errorMessage = e.Message })); } }
public ActionResult Create(UserVM model) { try { string userId = string.Empty; model.CreatedBy = LogInManager.LoggedInUserId; model.Password = Utility.Utility.Encrypt(model.Password, Utility.Utility.EncryptionKey); #region Get Tutor Role Id var userRoles = userRoleRepository.GetUserRoles(); var tutorRoleId = userRoles.Where(m => m.Code == "TUTOR").FirstOrDefault().Id; model.UserRoleId = tutorRoleId; #endregion #region Check User Email Exist. if (this.CheckUserEmailExist(model.Id, model.UserRoleId, model.Email) == false) { return(Json(new { IsSuccess = false, errorMessage = string.Format("Email : {0} already exist.", model.Email) }, JsonRequestBehavior.AllowGet)); } #endregion #region Get Max. User Id //Get Max. User Id. var newUserId = (userRepository.GetMaxUserId()) + 1; model.UserId = newUserId; #endregion #region Generate Cashier Number var firstTwoCharactersOfName = !string.IsNullOrWhiteSpace(model.Name) ? model.Name.Substring(0, 2) : ""; model.CashierNumber = (firstTwoCharactersOfName + newUserId).ToUpper(); #endregion Generate Cashier Number model.IsFromRegistrationPage = false; model.IsRecordActivity = true; userId = userRepository.AddUserDetail(model); if (!string.IsNullOrWhiteSpace(userId)) { #region Add User Role Mapping UserRoleMappingVM userRoleMapping = new UserRoleMappingVM(); userRoleMapping.UserId = Guid.Parse(userId); userRoleMapping.UserRoleId = model.UserRoleId; userRoleMapping.IsActive = true; userRoleMapping.CreatedBy = LogInManager.LoggedInUserId; userRoleMapping.UpdatedBy = LogInManager.LoggedInUserId; userRepository.AddUpdateUserRoleMapping(userRoleMapping); #endregion #region Set Default Tutor Configuration Type to Restricted. UserLoginTimeVM userLoginTime = new UserLoginTimeVM(); userLoginTime.ConfigurationType = UserLoginConfigurationType.RESTRICTED; userLoginTime.LoginStartTime = null; userLoginTime.LoginEndTime = null; userLoginTime.TutorId = Guid.Parse(userId); userLoginTime.CreatedBy = LogInManager.LoggedInUserId; userLoginTime.UpdatedBy = LogInManager.LoggedInUserId; userLoginTime.IsActive = true; userRepository.AddUpdateUserLoginTime(userLoginTime); #endregion return(Json(new { IsSuccess = true, data = new { UserId = userId } }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { IsSuccess = false, errorMessage = "Tutor details not saved successfully." }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { Utility.Utility.LogError(e, "Create"); return(Json(new { IsSuccess = false, errorMessage = e.Message })); } }