public async Task <JsonResult> GetUserInformation() { try { var model = UsersUtility.MToVM(CurrentUser); return(Json(new { success = true, data = model })); } catch { return(Json(new { success = false })); } }
public async Task <JsonResult> Insert(UsersViewModel item) { try { item.Code = GeneralClass.StringUtility.StringFormatter.figure3DigitBeautify("" + _companyService.GetByID(CurrentUser.CompanyID).Result.Users.Count()); item.JobStatus = new JobStatusViewModel() { ID = item.JobStatus.ID }; item.Company = new CompanyViewModel() { ID = _currentUser.CompanyID }; item.TimeZone = CurrentUser.TimeZone; var model = UsersUtility.VMToM(item); model.CreatedAt = GetCurrentTime(); model.CreatedBy = CurrentUser.ID; if (UsersUtility.GenerateUser(model, _userService, _manager, Server, CurrentUser, GetCurrentTime())) { var vm = UsersUtility.MToVM(_userService.GetByID(model.ID).Result); return(Json(new { success = true, data = vm })); } return(Json(new { success = false })); } catch (Exception e) { Console.WriteLine(e); return(Json(new { success = false })); } }
public UtilityManager(ICacheService cacheUtility, IAuthenticationService authenticationService, ISettingsService settings) { CacheUtility = cacheUtility; Authentication = authenticationService; Settings = settings; Repository = new Repositories(settings.ConnectionString); // Утилиты нужно создавать все, так как они могут использовать события друг друга, // если подписчика не создавать, то подписанные события не стработают // Утилиты подписываются на события менеджера, что бы знать когда инициализоваться и освобождать ресурсы Tasks = TasksUtility.Create(this); Users = UsersUtility.Create(this); Boards = BoardsUtility.Create(this); Projects = ProjectsUtility.Create(this); Statuses = TasksStatusesUtility.Create(this); Events = EventHistoryUtility.Create(this); Comments = CommentsUtility.Create(this); Invites = InvitesUtility.Create(this); Organizations = OrganizationsUtility.Create(this); Tariffs = TariffUtility.Create(this); Texts = TextsUtility.Create(this); OnInited(); }
public async Task <JsonResult> GetAll() { try { var list = _userService.GetAll().Result.ToList(); return(Json(new { success = true, data = UsersUtility.MsToVMs(list) }, JsonRequestBehavior.AllowGet)); } catch { return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }
public async Task <JsonResult> LoginUser(string Code, string imageUri) { try { var path = Server.MapPath("/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID); var file = PathChecker.FindAvailableFileName(path, "File"); var users = UsersUtility.FilterByCompany(CurrentUser.CompanyID, _userService.GetAll().Result.ToList()); var user = UsersUtility.FilterByCode(StringFormatter.RemoveStringCharacter(" ", Code), users); if (user.Count > 0) { var attendance = AttendanceUtility.FilterByCompanyID(CurrentUser.CompanyID, _attendanceService.GetAll().Result.ToList()); attendance = AttendanceUtility.FilterByUserID(user.FirstOrDefault().ID, attendance, false); attendance = AttendanceUtility.FilterByDateFromTo(GetCurrentTime(), GetCurrentTime(), attendance); if (attendance.Count > 0) { var attendanceData = new Attendance(); //checks if there is already a timeins if true then timeout that attendance else time in a user var timeout = AttendanceUtility.FilterTimeIn(attendance, false); if (timeout.Count > 0) { if (ImageUpload.UriToServer(imageUri, path + "/" + file)) { attendanceData = timeout.FirstOrDefault(); attendanceData.TimeOutImage = "/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID + "/" + file; attendanceData.TimeOut = GetCurrentTime().TimeOfDay; attendanceData.UpdatedAt = GetCurrentTime(); } } else { if (ImageUpload.UriToServer(imageUri, path + "/" + file)) { //time in user attendance check if there are timeins already var timeins = AttendanceUtility.FilterTimeIn(attendance, true); attendanceData = timeins.FirstOrDefault(); attendanceData.TimeInImage = "/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID + "/" + file; attendanceData.TimeIn = GetCurrentTime().TimeOfDay; attendanceData.UpdatedAt = GetCurrentTime(); } } _attendanceService.Update(attendanceData); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, message = MessageUtility.TimeOff() })); } } return(Json(new { success = false, message = MessageUtility.UserLoginIDNONExist() })); } catch (Exception e) { return(Json(new { success = false, message = MessageUtility.ServerError(), error = e })); } }
public async Task <JsonResult> GetAllByCompanyID() { try { var list = _userService.GetAll().Result.ToList(); list = UsersUtility.FilterByCompany(CurrentUser.CompanyID, list); list = UsersUtility.FilterByIsArchived(list, false); var vms = UsersUtility.MsToVMs(list); return(Json(new { success = true, data = vms, count = list.Count }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { Console.WriteLine(e); return(Json(new { success = false })); } }
public async Task <JsonResult> Update(UsersViewModel item) { try { var imageFile = item.profileImage.Contains(CurrentUser.CompanyID) ? item.profileImage : "/UPLOADS/SubscriberFiles/" + CurrentUser.CompanyID + "/" + FileManagerUtility.UploadImage(Server, item.profileImage, Server.MapPath("/UPLOADS/SubscriberFiles/") + CurrentUser.CompanyID, "File" + TimeFormatter.DateToString1(GetCurrentTime())); if (imageFile != null) { item.profileImage = imageFile; var realModel = _userService.GetByIDAsync(item.ID).Result; var model = UsersUtility.UVMToUM(realModel, item); model.UpdatedAt = GetCurrentTime(); model.UpdatedBy = CurrentUser.ID; model.isArchived = false; _userService.Update(model); return(Json(new { success = true, data = model })); } return(Json(new { success = false })); } catch { return(Json(new { success = false })); } }
public ViewResult EditPassword(FormCollection collection) { string oldPassword = collection["oldPassword"]; if (oldPassword.IsNullOrEmpty()) { ModelState.AddModelError("oldPassword", "Введите старый пароль."); } else if (!UsersUtility.CheckPassword(Utility.Users.CurrentUser, oldPassword)) { ModelState.AddModelError("oldPassword", "Пароль неверный."); } if (TrySetNewPassword(Utility.Authentication.UserId, collection)) { ViewData.Add("message", "Пароль успешно изменен."); } ViewData.Model = Utility.Users.CurrentUser; // Отображаем ошибки return(View("EditPassword")); }
public ActionResult Register(string id, string returnUrl, FormCollection collection) { string password = collection["password"]; string confirmPassword = collection["confirmPassword"]; string email = collection["email"].Trim(); // во время обычной регистрации имейл это логин TimeSpan offset = TimeSpan.FromMinutes(collection["timezone"].ToInt()); try { #region Валидация if (password.IsNullOrEmpty()) { ModelState.AddModelError("password", "Введите пароль."); } if (email.IsNullOrEmpty()) { ModelState.AddModelError("email", "Введите email."); } if (!email.IsValidEmail()) { ModelState.AddModelError("email", "Введите правильный email."); } if (password != confirmPassword) { ModelState.AddModelError("confirmPassword", "Повторите пароль правильно."); } // Пользователь регестрируется через имейл, по этому он является логином IUser oldUser = Utility.Users.Get(email); if (oldUser != null) { ViewData.Add("email", email); ModelState.AddModelError("email", "Пользователь уже зарегестрирован."); // на всякий случай высылаем повторно конфирм, если пользователь решил ввести данные повторно if (!oldUser.IsConfirmed && UsersUtility.CheckPassword(oldUser, password)) { MailsManager.SendConfirmEmail(oldUser); } } #endregion if (ModelState.IsValid) { string nick = email.Split('@')[0]; try { Utility.Users.Add( nick, password, email, offset, id, // Код инвайта RegistrationType.Default); } catch (TariffException exception) { return(Message(exception.Message)); } if (returnUrl.IsNullOrEmpty()) { return(View("Registration")); } return(Redirect(returnUrl)); } ViewData.Model = GetTimeZones(); return(View()); } catch { Utility.Users.Delete(email); throw; } }
public ActionResult Login(string id, string login, string password, bool rememberme, string returnUrl) { string inviteCode = id; if (login.IsNullOrEmpty()) { ModelState.AddModelError("login", "Введите логин."); } if (password.IsNullOrEmpty()) { ModelState.AddModelError("password", "Введите пароль."); } if (ModelState.IsValid) { IUser user = Utility.Users.Get(login); if (user != null) { if (UsersUtility.CheckPassword(user, password)) { if (user.IsConfirmed) { Utility.Authentication.SignIn(user.Id, rememberme); if (!inviteCode.IsNullOrEmpty()) { IOrganization organization = Utility.Organizations.GetByInviteCode(inviteCode); try { Utility.Organizations.AddUser(organization, user); } catch (TariffException exception) { return(Message(exception.Message)); } } if (!returnUrl.IsNullOrEmpty()) { return(Redirect(returnUrl)); } return(RedirectToAction("index", "boards")); } ModelState.AddModelError("login", "Регистрация не подтверждена. Проверьте почту для получения инструкций."); } else { ModelState.AddModelError("password", "Пароль неверный."); } } else { ModelState.AddModelError("login", "Пользователя не существует."); } } return(View()); }
public async Task <JsonResult> CurrentUserInfo() { try { return(Json(new { success = true, ID = CurrentUser.ID, firstname = CurrentUser.FirstName, lastname = CurrentUser.LastName, data = UsersUtility.MToVM1(CurrentUser) }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { success = false, message = e }, JsonRequestBehavior.AllowGet)); } }