Exemplo n.º 1
0
        //Update the DWStatus in SingleItemDetailedView
        public SingleItemDetailedModel UpdateDWSingleItemDetails(KPLBasedCommonViewModel itemViewModel)
        {
            #region Private Variables
            int currentDWStatus = Convert.ToInt32(itemViewModel.DWSelectionStatus);
            int DWYes           = (int)DecisionWhizardStatusEnum.Yes;
            int DWNo            = (int)DecisionWhizardStatusEnum.No;
            int DWMayBe         = (int)DecisionWhizardStatusEnum.MayBe;

            #endregion
            QuoteDetail dwquoteDetail = new QuoteDetail();

            Quote scQuote = _Context.Quote.GetSingle(e => e.QuoteTypeID == (int)QuoteTypeEnum.ShoppingCart && e.UserID == UserVM.CRMModelProperties.LoggedINCustomerUserID);
            Quote DWQuote = _Context.Quote.GetSingle(e => e.QuoteTypeID == (int)QuoteTypeEnum.DecisionWhizard && e.UserID == UserVM.CRMModelProperties.LoggedINCustomerUserID);
            List <QuoteDetail> lstSCQuoteDetails = scQuote.QuoteDetails.ToList();
            if (lstSCQuoteDetails != null)//item is in shoppingcart
            {
                QuoteDetail scQuoteDetail = lstSCQuoteDetails.Where(e => e.ItemID == itemViewModel.ItemID).FirstOrDefault();
                dwquoteDetail = _Context.QuoteDetail.GetSingle(e => e.QuoteID == itemViewModel.QuoteID && e.ItemID == itemViewModel.ItemID);
                if (scQuoteDetail != null)
                {
                    if (currentDWStatus == DWNo || currentDWStatus == DWMayBe)
                    {
                        //delete from sc
                        _Context.QuoteDetail.Delete(scQuoteDetail);
                    }
                }
                else
                {
                    if (currentDWStatus == DWYes)
                    {
                        //Insert In to Sc
                        _Context.QuoteDetail.Add(new QuoteDetail
                        {
                            ItemID        = itemViewModel.ItemID,
                            Quantity      = 1,
                            CreatedDate   = DateTime.Now,
                            QuoteID       = scQuote.QuoteID,
                            DWSelectionID = (int)DecisionWhizardStatusEnum.Yes,
                            UpdateDate    = DateTime.Now
                        });
                        //Insert In to DW
                        if (dwquoteDetail == null)
                        {
                            _Context.QuoteDetail.Add(new QuoteDetail
                            {
                                ItemID        = itemViewModel.ItemID,
                                Quantity      = 1,
                                CreatedDate   = DateTime.Now,
                                QuoteID       = DWQuote.QuoteID,
                                DWSelectionID = (int)DecisionWhizardStatusEnum.Yes,
                                UpdateDate    = DateTime.Now
                            });
                        }
                    }
                }
                if (dwquoteDetail != null)
                {
                    dwquoteDetail.DWSelectionID = Convert.ToInt32(itemViewModel.DWSelectionStatus);
                }
            }

            _Context.QuoteDetail.SaveChanges();

            //To get next element in list when we select either of yes no may be in singleItemDetailedview
            List <QuoteDetail> quoteDetailList = new List <QuoteDetail>();
            ItemListViewModel  _itemList       = new ItemListViewModel();
            _itemList.KPLItemListVM = new List <KPLBasedCommonViewModel>();
            quoteDetailList         = _Context.QuoteDetail.GetAll(e => e.QuoteID == itemViewModel.QuoteID).ToList();
            List <Item> lstItem = quoteDetailList.Select(e => e.Item).ToList();
            _itemList.KPLItemListVM = AutoMapper.Mapper.Map <IList <Item>, IList <KPLBasedCommonViewModel> >(lstItem).ToList();
            int index = _itemList.KPLItemListVM.FindIndex(e => e.ItemID == itemViewModel.ItemID);
            if (index < _itemList.KPLItemListVM.Count() - 1)
            {
                itemViewModel.ItemID = _itemList.KPLItemListVM[index + 1].ItemID;
            }
            SingleItemDetailedModel singleItemDetailes = GetSingleItemDetailsWithSets(itemViewModel.ItemID.ToString(), itemViewModel.QuoteID.ToString());

            return(singleItemDetailes);
        }
Exemplo n.º 2
0
        //Method to return selected item details and its sets
        public SingleItemDetailedModel GetSingleItemDetailsWithSets(string itemID, string quoteDWID)
        {
            SingleItemDetailedModel singleItemDetails = new SingleItemDetailedModel();

            singleItemDetails.ItemGroupVm         = new ItemGroupViewModel();
            singleItemDetails.KPLViewModel        = new KPLBasedCommonViewModel();
            singleItemDetails.ItemGroupVm.ItemPVM = new ItemParentViewModel();
            ItemListViewService itemListViewSrv = new ItemListViewService();

            Item item = _Context.Item.GetSingle(e => e.ItemID == itemID);//Getting particular selected item details
            //Getting shoppingcart details

            Quote scQuote = _Context.Quote.GetSingle(e => e.QuoteTypeID == (int)QuoteTypeEnum.ShoppingCart && e.UserID == UserVM.CRMModelProperties.LoggedINCustomerUserID);
            List <QuoteDetail> lstSCQuoteDetails = scQuote.QuoteDetails.ToList();

            //binding sets
            int?originalSetID = item != null ? item.SetID : (int?)null;

            if (originalSetID != null)
            {
                List <Item> itemList = itemListViewSrv.GetActiveItemList().Where(e => e.SetID == originalSetID).ToList();

                itemList.Remove(item);
                itemList.Insert(0, item);


                singleItemDetails.ItemGroupVm.GroupName      = itemList.FirstOrDefault().SetName;
                singleItemDetails.ItemGroupVm.GroupItemCount = itemList.Count;

                singleItemDetails.ItemGroupVm.ItemPVM.ListItemVM = AutoMapper.Mapper.Map <IList <Item>, IList <ItemViewModel> >(itemList).ToList();

                singleItemDetails.ItemGroupVm.ItemPVM.ListItemVM.Where(e => lstSCQuoteDetails.Any(x => x.ItemID == e.ItemID)).ToList().ForEach(it => it.IsInSCDWQuote = true);

                if (singleItemDetails.ItemGroupVm.ItemPVM.ListItemVM.Count > 0)
                {
                    singleItemDetails.ItemGroupVm.ItemPVM.ListItemVM.Where(e => e.ItemID == itemID).FirstOrDefault().IsSelected = true;
                }
                //binding KPL
                int qDWID = Convert.ToInt32(quoteDWID);
                //  Item ItemDetails = itemList.Where(e => e.ItemID == itemNo).FirstOrDefault();
                singleItemDetails.KPLViewModel.ARLevel          = item.ARLevel == null ? string.Empty : item.ARLevel;
                singleItemDetails.KPLViewModel.ARQuiz           = item.ARQuiz;
                singleItemDetails.KPLViewModel.Barcode          = item.Barcode == null ? string.Empty : item.Barcode;
                singleItemDetails.KPLViewModel.Classification   = item.Classification == null ? string.Empty : item.Classification;
                singleItemDetails.KPLViewModel.CopyRight        = item.Copyright == null ? 0 : Convert.ToInt32(item.Copyright);
                singleItemDetails.KPLViewModel.Description      = item.Description == null ? string.Empty : item.Description;
                singleItemDetails.KPLViewModel.Format           = item.Format == null ? string.Empty : item.Format;
                singleItemDetails.KPLViewModel.Illustrator      = item.Illustrator == null ? string.Empty : item.Illustrator;
                singleItemDetails.KPLViewModel.InterestGrade    = item.InterestGrade == null ? string.Empty : item.InterestGrade;
                singleItemDetails.KPLViewModel.ISBN             = item.ISBN == null ? string.Empty : item.ISBN;
                singleItemDetails.KPLViewModel.ItemID           = item.ItemID;
                singleItemDetails.KPLViewModel.Lexile           = item.Lexile == null ? string.Empty : item.Lexile;
                singleItemDetails.KPLViewModel.OnListDate       = item.OnListDate == null ? string.Empty : string.Format("{0:d}", item.OnListDate);
                singleItemDetails.KPLViewModel.Primarycharacter = item.SeriesAndCharacter == null ? string.Empty : item.SeriesAndCharacter.SCText;
                singleItemDetails.KPLViewModel.SecondCharacter  = item.SecondaryCharacter == null ? string.Empty : item.SecondaryCharacter;
                singleItemDetails.KPLViewModel.Pages            = item.Pages;
                singleItemDetails.KPLViewModel.Price            = item.Price;
                singleItemDetails.KPLViewModel.RCLevel          = item.RCLevel == null ? string.Empty : item.RCLevel;
                singleItemDetails.KPLViewModel.RCQuiz           = item.RCQuiz;
                singleItemDetails.KPLViewModel.ReviewSource     = item.ReviewSource == null ? string.Empty : item.ReviewSource;
                singleItemDetails.KPLViewModel.Series           = item.SeriesAndCharacter1 == null ? string.Empty : item.SeriesAndCharacter1.SCText;
                singleItemDetails.KPLViewModel.Title            = item.Title == null ? string.Empty : item.Title;
                singleItemDetails.KPLViewModel.Type             = item.ProductLine == null ? string.Empty : item.ProductLine.Trim().ToString();
                singleItemDetails.KPLViewModel.Publisher        = item.PublisherID == null ? string.Empty : _Context.Publisher.GetSingle(e => e.PublisherID == item.PublisherID).PublisherName;
                singleItemDetails.KPLViewModel.Author           = item.AuthorID == null ? string.Empty : _Context.Author.GetSingle(e => e.AuthorID == item.AuthorID).AuthorName;
                List <QuoteDetail> lstcurrentQuoteDetails = _Context.QuoteDetail.GetAll(e => e.QuoteID == qDWID).ToList();
                singleItemDetails.noOfNewCount   = _Context.QuoteDetail.GetAll(e => e.DWSelectionID == (int)DecisionWhizardStatusEnum.New && e.QuoteID == qDWID).Count();
                singleItemDetails.noOfYesCount   = _Context.QuoteDetail.GetAll(e => e.DWSelectionID == (int)DecisionWhizardStatusEnum.Yes && e.QuoteID == qDWID).Count();
                singleItemDetails.noOfNoCount    = _Context.QuoteDetail.GetAll(e => e.DWSelectionID == (int)DecisionWhizardStatusEnum.No && e.QuoteID == qDWID).Count();
                singleItemDetails.noOfMaybeCount = _Context.QuoteDetail.GetAll(e => e.DWSelectionID == (int)DecisionWhizardStatusEnum.MayBe && e.QuoteID == qDWID).Count();

                if (string.IsNullOrEmpty(item.QuoteDetails.Where(e => e.QuoteID == qDWID && e.ItemID == item.ItemID).ToString()) || item.QuoteDetails.Count == 0)
                {
                    singleItemDetails.KPLViewModel.DWSelectionStatus = "5";
                }
                else
                {
                    singleItemDetails.KPLViewModel.DWSelectionStatus = item.QuoteDetails.FirstOrDefault().DWSelectionID.ToString();
                }

                singleItemDetails.KPLViewModel.QuoteID = qDWID;
            }

            return(singleItemDetails);
        }