public Dtos.GetMembersOutput GetRequestMembers(Dtos.GetMemberInput input) { if (input.RequestId != null && input.CompanyId != null) { CreditsHero.Subscribers.Dtos.GetSubscribersInput inputSubscriber = new GetSubscribersInput() { CompanyId = input.CompanyId }; CreditsHero.Subscribers.Dtos.GetSubscribersOutput results = new GetSubscribersOutput(); var membersCreditsHero = (GetSubscribersOutput)_creditsHeroConnect .CallCreditsHeroService <GetSubscribersOutput>(results, inputSubscriber, "api/services/app/Subscriber/GetSubscribersByCompany"); return(new Dtos.GetMembersOutput { Members = Mapper.Map <List <Dtos.MemberDto> >(membersCreditsHero) }); } else { return(new Dtos.GetMembersOutput { Members = new List <MemberDto>() }); } }
public async Task<ActionResult> Index() { var identity = (ClaimsIdentity)User.Identity; IEnumerable<Claim> claims2 = identity.Claims; if (!identity.IsAuthenticated) { return View(); //return RedirectToAction("PublicIndex", "Home"); } else { var role = identity.FindFirst(ClaimTypes.Role).Value; if (role == "Member") { //Get the subscribers email to pass into CreditsHero in order to retreive summary var user = await _userManager.GetUserByIdAsync(AbpSession.UserId.Value); CreditsHero.Subscribers.Dtos.GetSubscribersInput input = new CreditsHero.Subscribers.Dtos.GetSubscribersInput() { SubscribersId = Int32.Parse(user.Id.ToString()), CompanyId = Guid.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["creditsHero:APIKey"]), SubscribersEmail = user.EmailAddress, SubscribersName = user.UserName }; var creditsHeroSubscriber = _memberAppService.GetMember(input); input.SubscribersId = creditsHeroSubscriber.Id; Models.Member.MemberSummaryViewModel results = new Models.Member.MemberSummaryViewModel(); Models.Member.MemberQuotesViewModel resultsQuotes = new Models.Member.MemberQuotesViewModel(); List<SubscribersInquiryDto> subscriberInquiries = _memberAppService.GetMemberInquiries(input).SubscriberInquiryList; List<SubscribersRequestDto> subscriberRequests = _memberAppService.GetMemberRequests(input).SubscriberRequestList; List<SubscriberQuoteDto> subscriberQuotes = _memberAppService.GetMemberQuotes(input).SubscriberQuotesList; SubscribersCreditsDto subscriberCredits = _memberAppService.GetMemberCredits(input); results.SubscriberInquiries.SubscriberInquiryList = new List<SubscribersInquiryDto>(); results.CreditsRemainingCount = subscriberCredits.TotalCredits; results.SubscriberInquiriesCount = subscriberInquiries.Count; //Build Inquiry Model results.SubscriberInquiries.SubscriberInquiryList = subscriberInquiries; //Build Requests Model results.SubscriberRequests = subscriberRequests; foreach (var item in subscriberQuotes) { var subscriberRequestItem = results.SubscriberRequests.Find(x => x.RequestId == item.RequestId); if (subscriberRequestItem != null) { results.SubscriberRequests.Remove(subscriberRequestItem); } } //Build Quotes Model resultsQuotes.SubscriberQuotes = subscriberQuotes; results.SubscriberQuotes = resultsQuotes; return RedirectToAction("PublicIndex", "Home", results); } else if (role == "Customer") { return View(); } else { GetMemberInput memberInput = new GetMemberInput() { CompanyId = Guid.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["creditsHero:APIKey"]) }; GetMembersOutput subscribersOutput = _memberAppService.GetMembers(memberInput); Models.Member.MemberSummaryViewModel member = new Models.Member.MemberSummaryViewModel(); Decimal totalSpend = 0.0M; Decimal totalCredits = 0.0M; foreach (var item in subscribersOutput.Members) { totalSpend += item.SubscriberExt.TotalSpend.HasValue ? item.SubscriberExt.TotalSpend.Value : 0.0M; totalCredits += item.SubscriberExt.TotalCredits.HasValue ? item.SubscriberExt.TotalCredits.Value : 0.0M; } member.TotalCredits = totalCredits; member.TotalSpend = totalSpend; member.TotalMembers = subscribersOutput.Members.Count; return RedirectToAction("PublicIndex", "Home", new Models.Member.MemberSummaryViewModel { TotalCredits = member.TotalCredits, TotalSpend = member.TotalSpend, TotalMembers = member.TotalMembers }); } } }
public Dtos.GetMembersOutput GetMembers(Dtos.GetMemberInput input) { if (input.MemberId != null) { var members = _memberRepository.GetMembersWithCompany(input.MemberId.Value); return(new Dtos.GetMembersOutput { Members = Mapper.Map <List <Dtos.MemberDto> >(members) }); } else { if (input.CompanyId.HasValue) { CreditsHero.Subscribers.Dtos.GetSubscribersInput inputSubscriber = new GetSubscribersInput() { CompanyId = input.CompanyId }; CreditsHero.Subscribers.Dtos.GetSubscribersOutput results = new GetSubscribersOutput(); var membersCreditsHero = (GetSubscribersOutput)_creditsHeroConnect.CallCreditsHeroService <GetSubscribersOutput>(results, inputSubscriber, "api/services/app/Subscriber/GetSubscribers"); var membersLocal = _memberRepository.GetMembersWithCompany(); Dtos.GetMembersOutput members = new Dtos.GetMembersOutput(); members.Members = new List <Dtos.MemberDto>(); foreach (var item in membersCreditsHero.Subscribers) { SubscribersDto subscriberExt = new SubscribersDto() { Email = item.Email, FullName = item.FullName, Id = item.Id, SmsNumber = item.SmsNumber, SubscriberId = item.SubscriberId, TotalCredits = item.TotalCredits, TotalSpend = item.TotalSpend }; var member = membersLocal.Find(c => c.Email == item.Email); if (member != null) { Dtos.MemberDto subscriber = new Dtos.MemberDto() { SubscriberExt = subscriberExt, FullName = member != null ? member.FullName : "", Id = member != null ? member.Id : 0, CellPhone = member != null ? member.CellPhone : "", Company = member.Company != null?Mapper.Map <Companies.Dtos.CompanyDto>(member.Company) : new Companies.Dtos.CompanyDto(), CompanyRefId = member != null ? member.CompanyRefId : 0, Email = member != null ? member.Email : "", Fax = member != null ? member.Fax : "", JobTitle = member != null ? member.JobTitle : "", Phone = member != null ? member.Phone : "", UserRefId = member != null ? member.UserRefId : 0 }; members.Members.Add(subscriber); } } return(members); } else { var members = _memberRepository.GetMembersWithCompany(); return(new Dtos.GetMembersOutput { Members = Mapper.Map <List <Dtos.MemberDto> >(members) }); } } }