public User GetById(int id) { using (TeamsDbEntities entities = new TeamsDbEntities()) { return(entities.Users.Find(id)); } }
public IActionResult GetMenu() { using (TeamsDbEntities entities = new TeamsDbEntities()) { try { Menu[] menuList = entities.Menus.OrderBy(menuItem => menuItem.Order).ToArray(); List <MenuModel> menuresponse = new List <MenuModel>(); foreach (var item in menuList) { menuresponse.Add(new MenuModel { ID = item.ID, Name = item.Name, Order = item.Order, Title = item.Title, Icon = item.Icon }); } return(Ok(menuresponse.ToArray())); } catch (Exception) { return(BadRequest(new { Result = "Server Error" })); } } }
public IActionResult SaveUserTeam(SaveUserTeamRequest team) { try { using (TeamsDbEntities entities = new TeamsDbEntities()) { Team teamEntity = entities.Teams.FirstOrDefault(p => p.ID == team.TeamID); List <TeamUserStatu> teamStatus = entities.TeamUserStatus.Where(p => p.TeamID == team.TeamID).ToList(); int[] addList = team.UserIDList.Where(p => !teamStatus.Any(y => y.UserID.Value == p)).ToArray(); List <TeamUserStatu> excludeItem = teamStatus.Where(p => (!team.UserIDList.Contains(p.UserID.Value) && teamEntity.AdminUser != p.UserID)).ToList(); entities.TeamUserStatus.RemoveRange(excludeItem); foreach (var userID in addList) { entities.TeamUserStatus.Add(new TeamUserStatu { TeamID = team.TeamID, UserID = userID }); } entities.SaveChanges(); } return(Ok(new ResponseBase { Result = "Success" })); } catch (Exception) { return(BadRequest(new ResponseBase { Result = "System Error." })); } }
public User[] GetAll() { using (TeamsDbEntities entities = new TeamsDbEntities()) { return(entities.Users.ToArray()); } }
public IActionResult SaveTeam(TeamRequest team) { using (TeamsDbEntities entities = new TeamsDbEntities()) { List <Team> teamList = entities.Teams.Where(p => p.TeamName == team.Name).ToList(); if (teamList.Count > 0) { return(BadRequest(new { Result = "Team name used before" })); } else { Team createTeam = entities.Teams.Add(new Team { TeamName = team.Name, AdminUser = team.UserID, }); entities.TeamUserStatus.Add(new TeamUserStatu { TeamID = createTeam.ID, UserID = team.UserID }); entities.SaveChanges(); return(Ok(new TeamModel { Name = createTeam.TeamName, ID = createTeam.ID, AdminUser = createTeam.AdminUser.Value })); } } }
public IActionResult SaveDevice(DeviceRequest request) { try { using (TeamsDbEntities entities = new TeamsDbEntities()) { UserDevice devices = entities.UserDevices.FirstOrDefault(p => p.NotificationKey == request.NotificationKey); if (devices == default) { entities.UserDevices.Add(new UserDevice { NotificationKey = request.NotificationKey, UserID = request.UserID, CreateDate = DateTime.Now }); entities.SaveChanges(); } else { devices.UserID = request.UserID; devices.CreateDate = DateTime.Now; } } return(Ok(new ResponseBase { Result = "Success" })); } catch (Exception) { return(BadRequest(new ResponseBase { Result = "System Error." })); } }
public IActionResult GetTaskList(TaskRequest taskRequest) { using (TeamsDbEntities entities = new TeamsDbEntities()) { List <Data.Task> taskEntity = entities.Tasks.Where(x => taskRequest.UserID.Contains(x.UserID.Value) && x.IsDelete == false && taskRequest.TeamID == x.TeamID).ToList(); List <TaskModel> taskList = new List <TaskModel>(); foreach (var task in taskEntity) { TaskModel tempTask = new TaskModel { Header = task.Header, Detail = task.Detail, UserID = task.UserID.Value, Progress = (ProgressTypeEnum)Enum.ToObject(typeof(ProgressTypeEnum), task.Progress), CreateByModel = new UserModel { Email = task.User1.Email, FirstName = task.User1.FirstName, LastName = task.User1.LastName, ID = task.CreateBy.Value }, CreateBy = task.CreateBy.Value, CreateDate = task.CreateDate.Value, StartDate = task.StartDate.Value, EndDate = task.EndDate.Value, ID = task.ID }; tempTask.TaskLogs = new List <TaskLogModel>(); foreach (var tLog in task.TaskLogs) { tempTask.TaskLogs.Add(new TaskLogModel { ID = tLog.ID, ModifyBy = tLog.ModifyBy, UserID = tLog.UserID, ModifyByModel = new UserModel { Email = tLog.User.Email, FirstName = tLog.User.FirstName, LastName = tLog.User.LastName, ID = tLog.User.ID }, UserModel = new UserModel { Email = tLog.User1.Email, FirstName = tLog.User1.FirstName, LastName = tLog.User1.LastName, ID = tLog.User1.ID }, ModifyDate = tLog.ModifyDate, Progress = (ProgressTypeEnum)Enum.ToObject(typeof(ProgressTypeEnum), tLog.ProgressID), TaskID = tLog.TaskID }); } taskList.Add(tempTask); } return(Ok(taskList.ToArray())); } }
public void Delete(int id) { using (TeamsDbEntities entities = new TeamsDbEntities()) { var user = entities.Users.Find(id); if (user != null) { entities.Users.Remove(user); entities.SaveChanges(); } } }
public IActionResult DeleteTask(TaskModel task) { using (TeamsDbEntities entities = new TeamsDbEntities()) { Data.Task taskEntity = entities.Tasks.FirstOrDefault(x => x.ID == task.ID && task.TeamID == x.TeamID); taskEntity.IsDelete = true; entities.SaveChanges(); return(Ok(new ResponseBase { Result = "Success" })); } }
public IActionResult SaveTask(TaskModel task) { DateTime today = DateTime.Now; using (TeamsDbEntities entities = new TeamsDbEntities()) { Data.Task taskEntity = entities.Tasks.FirstOrDefault(x => x.ID == task.ID); Data.Task taskResponse = new Data.Task(); if (taskEntity == default) { taskEntity = new Data.Task { Header = task.Header, Detail = task.Detail, UserID = task.UserID, Progress = (short)task.Progress, CreateBy = task.CreateBy, CreateDate = today, IsDelete = false, StartDate = task.StartDate, EndDate = task.EndDate, TeamID = task.TeamID }; taskResponse = entities.Tasks.Add(taskEntity); } else { taskEntity.Header = task.Header; taskEntity.Detail = task.Detail; taskEntity.StartDate = task.StartDate; taskEntity.EndDate = task.EndDate; taskEntity.UserID = task.UserID; taskEntity.Progress = (short)task.Progress; } Data.TaskLog taskLog = new TaskLog { TaskID = taskEntity == default ? taskResponse.ID : taskEntity.ID, ProgressID = (short)task.Progress, UserID = task.UserID, ModifyBy = task.CreateBy, ModifyDate = DateTime.Now, }; entities.TaskLogs.Add(taskLog); entities.SaveChanges(); return(Ok(new ResponseBase { Result = "Success" })); } }
public void Update(User userParam, string password = null) { using (TeamsDbEntities entities = new TeamsDbEntities()) { var user = entities.Users.Find(userParam.ID); if (user == null) { throw new AppException("User not found"); } // update username if it has changed if (!string.IsNullOrWhiteSpace(userParam.Email) && userParam.Email != user.Email) { // throw error if the new username is already taken if (entities.Users.Any(x => x.Email == userParam.Email)) { throw new AppException("Email " + userParam.Email + " is already taken"); } user.Email = userParam.Email; } // update user properties if provided if (!string.IsNullOrWhiteSpace(userParam.FirstName)) { user.FirstName = userParam.FirstName; } if (!string.IsNullOrWhiteSpace(userParam.LastName)) { user.LastName = userParam.LastName; } // update password if provided if (!string.IsNullOrWhiteSpace(password)) { string passwordHash; CreatePasswordHash(password, out passwordHash); user.PasswordHash = passwordHash; } entities.SaveChanges(); } }
public User Create(User user, string password) { // validation if (string.IsNullOrWhiteSpace(password)) { throw new AppException("Password is required"); } using (TeamsDbEntities entities = new TeamsDbEntities()) { if (entities.Users.Any(x => x.Email == user.Email)) { throw new AppException("Username \"" + user.Email + "\" is already taken"); } user.PasswordHash = password; entities.Users.Add(user); entities.SaveChanges(); return(user); } }
public User Authenticate(string email, string password) { if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { return(null); } using (TeamsDbEntities entities = new TeamsDbEntities()) { var user = entities.Users.FirstOrDefault(entity => entity.Email == email && entity.PasswordHash == password); if (user == null) { return(null); } if (!VerifyPasswordHash(password, user.PasswordHash, hashKey)) { return(null); } return(user); } }
public IActionResult DeleteTeam(DeleteTeamRequest team) { try { using (TeamsDbEntities entities = new TeamsDbEntities()) { Team teamList = entities.Teams.FirstOrDefault(p => p.ID == team.TeamID); entities.Teams.Remove(teamList); List <TeamUserStatu> teamStatusList = entities.TeamUserStatus.Where(p => p.TeamID == team.TeamID).ToList(); if (teamStatusList != null && teamStatusList.Count != 0) { entities.TeamUserStatus.RemoveRange(teamStatusList); } entities.SaveChanges(); return(Ok(new { Result = "Success" })); } } catch (Exception) { return(BadRequest(new { Result = "System Exeption" })); } }
private static TeamModel[] GetTeams(User user) { List <TeamModel> teamList = new List <TeamModel>(); using (TeamsDbEntities entities = new TeamsDbEntities()) { List <TeamUserStatu> teamStatus = entities.TeamUserStatus.Where(p => p.UserID == user.ID).ToList(); if (teamStatus.Count > 0) { foreach (var status in teamStatus) { teamList.Add(new TeamModel { ID = status.Team.ID, Name = status.Team.TeamName, AdminUser = status.Team.AdminUser.Value }); } return(teamList.ToArray()); } } return(null); }