示例#1
0
        public ActionResult MentorRequest(int teamPin, Guid mentorGuidId)
        {
            var    Db      = MvcApplication._dbRepo;
            var    sms     = MvcApplication._smsService;
            var    request = new MentorRequest();
            Team   team    = null;
            Mentor mentor  = null;

            try
            {
                team   = Db.Single <Team>(x => x.PinNumber == teamPin);
                mentor = Db.Single <Mentor>(x => x.GuidId == mentorGuidId);
            }
            catch (Exception ex)
            {
                Db.Add <Log>(new Log()
                {
                    Details = ex.ToString()
                });
            }

            request.Team   = team;
            request.Mentor = mentor;
            var message = $"🔥 { mentor.FirstName}, team { team.Name}, located in { team.Location}, has requested your assistance.\n\n" +
                          $"Reply with:\n" +
                          $"Y to accept " +
                          $"\nor\n " +
                          $"N to reject the request";

            try
            {
                request.OutboundSms = sms.SendSms(mentor.PhoneNumber, message);
            }
            catch (Exception ex)
            {
                //IS THROWING EXCEPTION FOR NOT HAVING CORRECTLY SETUP NEWTONSOFT.JSON DEPENDENCY
                Db.Add <Log>(new Log()
                {
                    Details = ex.ToString()
                });
            }

            try
            {
                SmsRoutingConductor.MentorRequests.Add(request);

                //THIS SHOULD BE HANDLED BY THE SMSROUTINGCONDUCTOR
                Db.Add <MentorRequest>(request);
            }
            catch (Exception ex)
            {
                Db.Add <Log>(new Log()
                {
                    Details = ex.ToString()
                });
            }

            return(RedirectToAction("Index"));
        }
        public void UpdateTeam(MentorRequest request, string message)
        {
            var hubContext = GlobalHost.ConnectionManager.GetHubContext <ProgressHub>();

            if (request.RequestAccepted)
            {
                hubContext.Clients.Group(request.Team.Name, new string[] { }).RequestUpdate(request, "Mentor Accepted Request.");
            }
        }
示例#3
0
 public IActionResult Post([FromBody] MentorRequest student)
 {
     if (ModelState.IsValid)
     {
         bool result = repository.AddMentorRequest(student);
         if (result)
         {
             return(Created("AddSkill", student.Id));
         }
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
     return(BadRequest(ModelState));
 }
示例#4
0
 public void MentorRequestResponse(MentorRequest mentorRequest)
 {
     if (mentorRequest.RequestAccepted == true && mentorRequest.DateTimeWhenProcessed != null)
     {
         var message = $"{mentorRequest.Mentor.FirstName} accepted your request!";
         Functions.UpdateTeamOfMentorRequest(mentorRequest.Team, true, message);
     }
     if (mentorRequest.RequestAccepted == false && mentorRequest.DateTimeWhenProcessed != null)
     {
         var message = $"{mentorRequest.Mentor.FirstName} is not available right now";
         Functions.UpdateTeamOfMentorRequest(mentorRequest.Team, true, message);
     }
 }
        public MentorRequest CreateRequest(MentorRequestParams requestParams)
        {
            var mentorRequest = new MentorRequest
            {
                FK_Mentor   = requestParams.MentorID,
                FK_Project  = requestParams.ProjectID,
                CreatedTime = DateTime.Now,
                State       = RequestState.Created
            };

            _context.MentorRequest.Add(mentorRequest);
            _context.SaveChanges();

            return(mentorRequest);
        }
示例#6
0
 public bool DeleteMentorRequest(MentorRequest mentortech)
 {
     try
     {
         context.MentorRequests.Remove(mentortech);
         int result = context.SaveChanges();
         if (result > 0)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
示例#7
0
 public bool AddMentorRequest(MentorRequest student)
 {
     try
     {
         context.MentorRequests.Add(student);
         int result = context.SaveChanges();
         if (result == 1)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception)
     {
         throw;
     }
 }