Example #1
0
 public User GetById(int id)
 {
     using (TeamsDbEntities entities = new TeamsDbEntities())
     {
         return(entities.Users.Find(id));
     }
 }
Example #2
0
 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" }));
         }
     }
 }
Example #3
0
 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."
         }));
     }
 }
Example #4
0
 public User[] GetAll()
 {
     using (TeamsDbEntities entities = new TeamsDbEntities())
     {
         return(entities.Users.ToArray());
     }
 }
Example #5
0
 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
             }));
         }
     }
 }
Example #6
0
 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."
         }));
     }
 }
Example #7
0
 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()));
     }
 }
Example #8
0
 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();
         }
     }
 }
Example #9
0
 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"
         }));
     }
 }
Example #10
0
        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"
                }));
            }
        }
Example #11
0
        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();
            }
        }
Example #12
0
        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);
            }
        }
Example #13
0
        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);
            }
        }
Example #14
0
 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" }));
     }
 }
Example #15
0
        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);
        }