public bool ServiceRequestDetails(List <ServiceSelectedCatDetails> ServiceRequest) { var userid = User.Identity.GetUserId(); var UserDetails = new AgingInHomeContext().ConsumerProfiles.FirstOrDefault(d => d.UserId == userid); var url = new ServiceRequestModel().SubmitServiceRequest(ServiceRequest, UserDetails); var providercatlistig = ServiceRequest.Select(d => d.catId.ToString()); var listinglist = new ProviderListingModel().GetAllListing() .Where(o => providercatlistig.Contains(o.ProviderCategory1.Id.ToString()) && o.IsApproved == (int)ListingStatus.Accepted).ToList(); //Get service RequestId var RequestId = url.Split(',')[1]; ServiceRequestModel serviceRequestModel = AutoMapper.Mapper.Map <ServiceRequestModel>(UserDetails); serviceRequestModel.Id = Convert.ToInt32(RequestId); serviceRequestModel.Email = UserDetails.AspNetUser.Email; foreach (var providerlisting in listinglist.OrderByDescending(s => s.ProviderListingId).ToList()) { //Get selected date time and best time var getselectedInfo = ServiceRequest.FirstOrDefault(s => s.catId == providerlisting.ProviderCategory1.Id); serviceRequestModel.ServiceDate = Convert.ToDateTime(getselectedInfo.CatserviceDate); serviceRequestModel.BestTime = getselectedInfo.CatBestTime; EmailSender.SendEmailToServiceProvider(providerlisting, serviceRequestModel); break; } return(true); }
public bool UpdateServiceRequestDetails(List <ServiceSelectedCatDetails> ServiceRequest) { var userid = User.Identity.GetUserId(); var UserDetails = new AgingInHomeContext().ConsumerProfiles.FirstOrDefault(d => d.UserId == userid); var returnProviderListingIds = new ServiceRequestModel().UpdateServiceRequest(ServiceRequest, UserDetails); if (returnProviderListingIds != "") { var providercatlistig = returnProviderListingIds.Substring(1).Split(','); var listinglist = new ProviderListingModel().GetAllListing(); var listingForMail = new List <ProviderListingModel>(); foreach (var listing in listinglist) { if (providercatlistig.Contains(listing.CategoryId.ToString())) { listingForMail.Add(listing); } } //.Where(o => providercatlistig.Contains(o.ProviderCategory1.Id.ToString()) && o.IsApproved == (int)ListingStatus.Accepted).ToList(); //Get service RequestId var RequestId = ServiceRequest.First().ServiceRequestId; ServiceRequestModel serviceRequestModel = AutoMapper.Mapper.Map <ServiceRequestModel>(UserDetails); serviceRequestModel.Id = Convert.ToInt32(RequestId); serviceRequestModel.Email = UserDetails.AspNetUser.Email; foreach (var providerlisting in listingForMail) { if (providerlisting.PrimaryEmail.Contains("@")) { //Get selected date time and best time var getselectedInfo = ServiceRequest.FirstOrDefault(s => s.catId == providerlisting.ProviderCategory1.Id); if (getselectedInfo != null) { serviceRequestModel.ServiceDate = Convert.ToDateTime(getselectedInfo.CatserviceDate); serviceRequestModel.BestTime = getselectedInfo.CatBestTime; EmailSender.SendEmailToServiceProvider(providerlisting, serviceRequestModel); } } } } return(true); }