private ICartItemViewModel CustomJewelCartItemViewModelBuilderMethod(ICartItem cartItem, int index) { try { var customJewel = cartItem as CustomJewelCartItem; jewelRepository.FilterMediaByMetal(customJewel.MediaType); var diamond = diamondRepository.GetDiamondByID(customJewel.DiamondID); var jewel = jewelRepository.GetJewelByID(customJewel.SettingID); var twoObjects = new MergeDiamondAndJewel() { First = diamond, Second = jewel }; var viewModel = mapper.Map <MergeDiamondAndJewel, CustomJewelCartItemViewModel>(twoObjects); viewModel.CartID = index; viewModel.Size = customJewel.GetSize(); return(viewModel); } catch (Exception ex) { throw new Exception(ex.Message + "\n When asked to build a view model for jewelcartitem we had a problem explained above"); } }
public JewelCartItem JewelCartItem(int id, string size, JewelMediaType mediaType) { var jewel = jewelRepository.GetJewelByID(id); var price = jewel.Price; var cartItem = new JewelCartItem(id, mediaType, (decimal)price); if (!String.IsNullOrWhiteSpace(size)) { cartItem.SetSize(size); } return(cartItem); }
public WishListViewModel Build() { try { var itemsViewModelList = new List <WishListItemViewModel>(); var itemdIDs = wishListPersistence.GetItemsOnWishList(); foreach (var id in itemdIDs) { var jewel = jewelRepository.GetJewelByID(id); if (jewel == null) { continue; } var itemViewModel = mapper.Map <Jewel, WishListItemViewModel>(jewel); itemsViewModelList.Add(itemViewModel); } var viewModel = new WishListViewModel { Items = itemsViewModelList }; return(viewModel); } catch (Exception ex) { throw new Exception("When asked to build the model for the wishlist page an error occured\r\n" + ex.Message); } }
public List <NavigationTab> Build() { var list = new List <NavigationTab>(); if (customJewelPersistenceBase.DiamondID > 0) { diamond = diamondRepository.GetDiamondByID(customJewelPersistenceBase.DiamondID); } if (customJewelPersistenceBase.SettingID > 0) { setting = jewelRepository.GetJewelByID(customJewelPersistenceBase.SettingID); } var diamondTab = BuildDiamondTab(); list.Add(diamondTab); var settingTab = BuildSettingTab(); list.Add(settingTab); var finalTab = BuildFinalTab(); list.Add(finalTab); list = list.Select(ForEachTabEvaluateTheHighlightCSSClass).ToList(); return(list); }
protected override List <ICartItem> ResolveCore(acc_ORDERS source) { try { var cartItems = new List <ICartItem>(); var jewelItems = source.acc_JEWELRY_ORDER_ITEMS.ToList(); foreach (var jewelItem in jewelItems) { var dbJewel = jewelRepository.GetJewelByID(jewelItem.Item_id); var jewelCartItem = new JewelCartItem(jewelItem.Item_id, (JewelMediaType)jewelItem.metal, (decimal)dbJewel.Price); jewelCartItem.SetSize(jewelItem.jewelsize); cartItems.Add(jewelCartItem); } var diamondItems = source.acc_DIAMOND_ORDER_ITEMS.ToList(); foreach (var diamondItem in diamondItems) { var dbDiamond = diamondRepository.GetDiamondByID(diamondItem.Item_id); var diamondCartItem = new DiamondCartItem(diamondItem.Item_id, dbDiamond.Price); cartItems.Add(diamondCartItem); } var customJewelItems = source.acc_CUSTOMJEWEL_ORDER_ITEMS.ToList(); foreach (var customJewelItem in customJewelItems) { var dbsetting = jewelRepository.GetJewelByID(customJewelItem.Setting_id); var dbdiamond = diamondRepository.GetDiamondByID(customJewelItem.Diamond_id); var customJewelCartItem = new CustomJewelCartItem(customJewelItem.Diamond_id, customJewelItem.Setting_id, customJewelItem.size, JewelMediaType.WhiteGold, dbdiamond.Price + (decimal)dbsetting.Price); cartItems.Add(customJewelCartItem); } return(cartItems); } catch (Exception ex) { throw new Exception("When asked to convert from a db order object to a Order POCO:\r\n ordernumber=" + source.OrderNumber + "\r\n" + " an error occured:" + ex.Message); } }
public ActionResult MediaSets(int jewelID) { var jewel = jewelRepository.GetJewelByID(jewelID); var builder = new MediaSetsJsonModelBuilder(jewel, mediaSetBuilder, webHelpers); var viewModel = builder.Build(); return(Json(viewModel)); }
public BestOfferEmailTemplateViewModel CreateEmailModel(BestOfferViewModel bestOfferViewModel) { try { var jewel = jewelRepository.GetJewelByID(bestOfferViewModel.JewelID); var templateModel = mapper.Map <Jewel, BestOfferEmailTemplateViewModel>(jewel); templateModel.OfferPrice = new Money(bestOfferViewModel.OfferPrice, Currency.Usd).Format("{1}{0:#,0}"); templateModel.Email = bestOfferViewModel.OfferEmail; templateModel.OfferNumber = jewel.ID.ToString(); templateModel.OfferDate = dateTime.ToShortDateString(); return(templateModel); } catch (Exception ex) { throw new Exception("When asked to map the viewmodel from request to a viewmodel for the email an error occured: \r\n" + ex.Message); } }
public EmailRingEmailTemplateViewModel Build() { try { var viewModel = mapper.Map <EmailRingModel, EmailRingEmailTemplateViewModel>(model); var jewel = jewelRepository.GetJewelByID(Convert.ToInt32(model.ID)); if (jewel == null) { throw new Exception("When asked to get an diamond with id:" + model.ID + " an error occured\r\n" + "Jewel was not found"); } viewModel.Description = jewel.Title; viewModel.Price = new Money(jewel.Price, Currency.Usd).Format("{1}{0:#,0}"); viewModel.ItemNumber = jewel.ItemNumber; viewModel.MediaSet = jewel.Media.MediaSet; viewModel.Icon = jewel.Media.IconURLForWebDisplay; return(viewModel); } catch (Exception ex) { throw new Exception("when asked for a EmailRing Template an error occured\r\n" + ex.Message); } }
public EndViewModel Build() { var mapperHelp = new MergeDiamondAndJewel(); mapperHelp.First = diamondRepository.GetDiamondByID(customJewelPersistenceInEndPage.DiamondID); jewelRepository.FilterMediaByMetal(customJewelPersistenceInEndPage.MediaType); mapperHelp.Second = jewelRepository.GetJewelByID(customJewelPersistenceInEndPage.SettingID); var viewModel = mapper.Map <MergeDiamondAndJewel, EndViewModel>(mapperHelp); viewModel.TabsForJewelDesignNavigation = tabsForJewelDesignBuilder.Build(); viewModel.JewelPersistence = new CustomJewelPersistenceBase() { DiamondID = customJewelPersistenceInEndPage.DiamondID, SettingID = customJewelPersistenceInEndPage.SettingID, Size = customJewelPersistenceInEndPage.Size, MediaType = customJewelPersistenceInEndPage.MediaType }; return(viewModel); }
private TOut BuildProcess <TOut>() where TOut : PageViewModelBase, IJewelryItemViewModel, new() { var viewModel = new TOut(); var jewel = jewelRepository.GetJewelByID(jewelryID); if (jewel == null) { throw new ArgumentNullException(); } viewModel.Title = jewel.Title; viewModel.ID = jewel.ID.ToString(); var prettyMediaFactory = new prettyPhotoMediaFactory(); var formatter = new JONFormatter(); viewModel.MainJewelPicture = prettyMediaFactory.SinglePhoto(jewel.Media.PictureURLForWebDisplay, jewel.Media.HiResURLForWebDisplay, jewel.Title); viewModel.HiResJewelPicture = prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiResURLForWebDisplay, jewel.Title); var extraMedia = new List <prettyPhotoMedia>(); if (fileSystem.File.Exists(jewel.Media.HiResDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiResURLForWebDisplay, jewel.Title)); } if (fileSystem.File.Exists(jewel.Media.HandDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HandURLForWebDisplay, jewel.Title)); } if (fileSystem.File.Exists(jewel.Media.ReportDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.ReportURLForWebDisplay, "Report")); } if (fileSystem.File.Exists(jewel.Media.HiRes2DiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiRes2URLForWebDisplay, "Report")); } viewModel.ExtraImages = extraMedia; if (fileSystem.File.Exists(jewel.Media.MovieDiskPathForWebDisplay)) { viewModel.HasMovie = true; viewModel.Movie = jewel.Media.MovieURLForWebDisplay; } var price = new Money(jewel.Price, Currency.Usd).Format("{1}{0:#,0}"); viewModel.Price = price; viewModel.RegularPrice = new Money(jewel.RegularPrice, Currency.Usd).Format("{1}{0:#,0}"); viewModel.YouSave = String.Format("{0:0.##}%", Math.Round(100 - (jewel.Price / jewel.RegularPrice) * 100)); viewModel.isSpecial = jewel.IsSpecial; viewModel.ItemNumber = jewel.ItemNumber; viewModel.Metal = jewel.MetalFullName(); viewModel.Weight = jewel.Weight > 0 ? formatter.ToGramWeight(jewel.Weight) : "N/A"; viewModel.Width = jewel.Width > 0 ? formatter.ToMilimeter(jewel.Width) : "N/A"; viewModel.IsBestOffer = jewel.IsBestOffer; var specs = new List <JewelComponentInfoPart>(); var colors = new List <string>() { "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", }; var clarities = new List <string>() { "FL", "IF", "VVS1", "VVS2", "VS1", "VS2", "SI1", "SI2", "SI3", "I1", "I2", "I3", }; colors.Reverse(); clarities.Reverse(); if (jewel.JewelryExtra.CS.Count > 0) { specs.Add(new JewelComponentInfoPart("Stone", jewel.JewelryExtra.CS.Type, 1)); specs.Add(new JewelComponentInfoPart("Minimum carat total weight:", formatter.ToCaratWeight(jewel.JewelryExtra.CS.Weight), 1)); specs.Add(new JewelComponentInfoPart("# of Stones", jewel.JewelryExtra.CS.Count.ToString(), 1)); var wordsToSayHowTheQualityIs = "Minimum"; if (jewel.JewelryExtra.CS.Count > 1) { wordsToSayHowTheQualityIs = "Average"; specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Color", CreateRangeStringFrom(colors, jewel.JewelryExtra.CS.Color, 1), 1)); specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Clarity", CreateRangeStringFrom(clarities, jewel.JewelryExtra.CS.Clarity, 1), 1)); } else { specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Color", jewel.JewelryExtra.CS.Color, 1)); specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Clarity", jewel.JewelryExtra.CS.Clarity, 1)); } } if (jewel.JewelryExtra.SS.Count > 0) { specs.Add(new JewelComponentInfoPart("Stone", jewel.JewelryExtra.SS.Type, 2)); specs.Add(new JewelComponentInfoPart("Minimum carat total weight:", formatter.ToCaratWeight(jewel.JewelryExtra.SS.Weight), 2)); specs.Add(new JewelComponentInfoPart("# of Stones", jewel.JewelryExtra.SS.Count.ToString(), 2)); specs.Add(new JewelComponentInfoPart("Average Color", CreateRangeStringFrom(colors, jewel.JewelryExtra.SS.Color, 1), 2)); specs.Add(new JewelComponentInfoPart("Average Clarity", CreateRangeStringFrom(clarities, jewel.JewelryExtra.SS.Clarity, 1), 2)); viewModel.HasSideStones = true; } viewModel.SpecsPool = specs; var testimonailsFromDB = testimonialRepository.GetRandomTestimonails(3); viewModel.Testimonials = mapper.Map <List <Testimonial>, List <TestimonialViewModel> >(testimonailsFromDB); viewModel.PageTitle = viewModel.Title + " - " + viewModel.Price; viewModel.JewelType = jewel.Type; return(viewModel); }