예제 #1
0
        public int CreateTask([FromBody] TaskInputModel model)
        {
            var existingTasksInCurrentQ = _db.Tasks.Where(t => t.QueueId == model.QueueId).ToList();

            foreach (var existingTask in existingTasksInCurrentQ)
            {
                if (existingTask.Title == model.TaskTitle)
                {
                    return(-1);
                }
            }

            var task = new Task
            {
                QueueId   = model.QueueId,
                Title     = model.TaskTitle,
                CreatorId = model.CreatorId,
                Status    = model.Status
            };

            _db.Tasks.Add(task);
            _db.SaveChanges();

            return(task.Id);
        }
예제 #2
0
        public void SendAssignedTaskNotification([FromBody] Task model)
        {
            var user = _userDb.Users.FirstOrDefault(u => u.Id == model.AssigneeId);

            if (user == null)
            {
                return;
            }

            var notification = new Notification
            {
                Message   = "You have been assigned to: " + model.Title,
                Link      = "/Queues/Show/" + model.QueueId,
                IsRead    = false,
                ToId      = model.AssigneeId,
                ToName    = user.FirstName + user.LastName,
                Type      = 3,
                CreatedAt = DateTime.Now,
            };

            _db.Notifications.Add(notification);
            _db.SaveChanges();
        }