public static DepartmentDto CreateFromModel(DepartmentExtended model) { if (model == null) { return(null); } var departmentDto = new DepartmentDto { Code = model.DepartmentCode, Name = model.Name, EmployeesCount = model.Users.Count, IsLocked = model.IsLocked, EmployeesAvailable = true }; if (model.DepartmentManager != null) { departmentDto.DepartmentManager = UserDto.CreateFromModel(model.DepartmentManager); } if (ApplicationSettingsService.Instance.Settings.EmployeesAccessRule != (int)EmployeesAccessRules.AllEmployees) { var currentDepartmentId = SessionHelper.GetUserDepartmentIdFromOwinContext(); if (currentDepartmentId != Guid.Empty && currentDepartmentId != model.DepartmentId) { departmentDto.EmployeesAvailable = false; } } return(departmentDto); }
public static UserDto CreateFromModel(User model) { var department = new DepartmentExtended(model.Department, DepartmentsService.Instance.IsDepartmentLocked(model.Department)); return(new UserDto { Id = model.Id, SmgId = model.SmgUserId, Login = model.UserName, Profile = UserProfileDto.CreateFromModel(model.UserProfile), Department = DepartmentDto.CreateFromModel(department) }); }
public static DepartmentMatchDto CreateFromModel(DepartmentExtended model, DepartmentQuery[] queries) { var match = new DepartmentMatchDto(); foreach (var query in queries.Where(x => !String.IsNullOrEmpty(x.Value))) { switch (query.Field) { case DepartmentQueryFields.Name: match.Name = model.Name; break; case DepartmentQueryFields.Code: match.Code = model.DepartmentCode; break; default: throw new ArgumentOutOfRangeException(); } } return(match); }