public HttpResponseMessage GetMyCommunications(byte period) { DateTime startDate = DateTime.UtcNow; DateTime endDate = DateTime.UtcNow; if (period == 0) { startDate = ToUserUtcDateTime(startDate.AddDays(-7).Date); } else { startDate = ToUserUtcDateTime(startDate.AddDays(-30).Date); } MyCommunicationResponse response = userService.GetMyCommunicationDetails(new MyCommunicationRequest() { AccountId = this.AccountId, UserId = this.UserId, StartDate = startDate, EndDate = endDate }); return(Request.BuildResponse(response)); }
public JsonResult GetMyCommunicationData(byte period) { DateTime startDate = DateTime.UtcNow; DateTime endDate = DateTime.UtcNow; if (period == 0) { startDate = ToUserUtcDateTime(startDate.AddDays(-7).Date); } else { startDate = ToUserUtcDateTime(startDate.AddDays(-30).Date); } MyCommunicationResponse response = userService.GetMyCommunicationDetails(new MyCommunicationRequest() { AccountId = this.Identity.ToAccountID(), UserId = this.Identity.ToUserID(), StartDate = startDate, EndDate = endDate }); IList <MyCommunication> actualDataToShow = new List <MyCommunication>() { }; var usersPermissions = cachingService.GetUserPermissions(Thread.CurrentPrincipal.Identity.ToAccountID()); List <byte> userModules = usersPermissions.Where(s => s.RoleId == (short)Thread.CurrentPrincipal.Identity.ToRoleID()).Select(s => s.ModuleId).ToList(); if (response.CommunicationDetails.IsAny()) { response.CommunicationDetails.Each(my => { if (my.ActivityType == "A") { if (userModules.Contains((byte)AppModules.Contacts) && userModules.Contains((byte)AppModules.ContactActions)) { actualDataToShow.Add(my); } } else if (my.ActivityType == "T") { if (userModules.Contains((byte)AppModules.Contacts) && userModules.Contains((byte)AppModules.ContactTours)) { actualDataToShow.Add(my); } } else if (my.ActivityType == "N") { if (userModules.Contains((byte)AppModules.Contacts) && userModules.Contains((byte)AppModules.ContactNotes)) { actualDataToShow.Add(my); } } else if (my.ActivityType == "E") { if (userModules.Contains((byte)AppModules.Contacts) && userModules.Contains((byte)AppModules.SendMail)) { actualDataToShow.Add(my); } } else if (my.ActivityType == "C") { if (userModules.Contains((byte)AppModules.Campaigns)) { actualDataToShow.Add(my); } } }); } return(Json(new { success = true, response = actualDataToShow }, JsonRequestBehavior.AllowGet)); }