Exemplo n.º 1
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."
         }));
     }
 }
Exemplo n.º 2
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
             }));
         }
     }
 }
Exemplo n.º 3
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."
         }));
     }
 }
Exemplo n.º 4
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();
         }
     }
 }
Exemplo n.º 5
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"
         }));
     }
 }
Exemplo n.º 6
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"
                }));
            }
        }
Exemplo n.º 7
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();
            }
        }
Exemplo n.º 8
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);
            }
        }
Exemplo n.º 9
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" }));
     }
 }