public ServiceBidViewModel(Model.Service service, User user) { decimal highestBid = new List<decimal> { 0 }.Concat( service .LatestBids() .Select(o => o.Amount)) .Max(o => o); decimal userCurrentBid = service .LatestBidForUser(user.Id) .Amount; if (service != null) { _userId = user.Id; _serviceId = service.Id; _highestBid = highestBid; _userCurrentBid = userCurrentBid; _biddingCompletionDate = service.BiddingCompletionDate; _description = service.Description; _location = service.Location.Name; _reference = service.Reference; _serviceDate = service.ServiceDue; _serviceTag = service.Tag.Title; _addtionalInfo = service.AdditionalInfos.Select(o => o.Comment).ToList(); _addtionalInfoRequests = service.AdditionalInfoRequests.Select(o => o.Comment).ToList(); } else { _addtionalInfo = new List<string>(); _addtionalInfoRequests = new List<string>(); } }
public ServiceBidViewModel(Model.Service service, User user) { decimal lowestBid = service .LatestBids() .Select(o => o.Amount) .OrderBy(o=>o) .FirstOrDefault(); Bid latestBid = service .LatestBidForUser(user.Id); decimal userCurrentBid = latestBid == null ? 0 : latestBid.Amount; if (service != null) { _userId = user.Id; _serviceId = service.Id; _lowestBid = lowestBid; _userCurrentBid = userCurrentBid; _biddingCompletionDate = service.BiddingCompletionDate; _description = service.Description; _location = service.Location.Name; _reference = service.Reference; _serviceDate = service.ServiceDue; _serviceTag = service.Tag.Title; _addtionalInfo = service.AdditionalInfos.Select(o => o.Comment).ToList(); _addtionalInfoRequests = service.AdditionalInfoRequests.Select(o => o.Comment).ToList(); } else { _addtionalInfo = new List<string>(); _addtionalInfoRequests = new List<string>(); } }
public void SaveUserProfile(Models.UserProfileViewModel userProfileViewModel) { if (userProfileViewModel == null) throw new ArgumentNullException("userProfileViewModel"); int userProfileId = WebSecurity.CurrentUserId; User user = _serviceHubEntities.Users.SingleOrDefault(o => o.UserProfileId == userProfileId); if (user == null) { user = new User(); _serviceHubEntities.Users.Add(user); user.UserProfileId = userProfileId; } user.About = userProfileViewModel.About ?? string.Empty; user.Name = userProfileViewModel.Name; user.ContactNumber = userProfileViewModel.ContactNumber; user.IsPublic = userProfileViewModel.IsPublic; foreach (Location location in user.Locations.ToList()) user.Locations.Remove(location); foreach (Location location in _serviceHubEntities.Locations.Where(o => userProfileViewModel.Locations.Contains(o.Id)).ToList()) user.Locations.Add(location); if (userProfileViewModel.Tags != null) { List<string> tagsText = userProfileViewModel.Tags.Split(',').ToList(); List<Tag> existingTags = _serviceHubEntities.Tags.Where(o => tagsText.Contains(o.Title)).ToList(); foreach (string tagText in tagsText) { if (!existingTags.Any(o => string.Equals(tagText, o.Title, StringComparison.OrdinalIgnoreCase))) { existingTags.Add(new Tag { Title = tagText }); } } foreach (Tag tag in user.Tags.ToList()) user.Tags.Remove(tag); foreach (Tag tag in existingTags.ToList()) user.Tags.Add(tag); } }