Beispiel #1
0
        // GET: Variant/Details/2
        public ActionResult Details(int id)
        {
            UpdateVariant ViewModel = new UpdateVariant();

            string url = "variantdata/findvariant/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;


            if (response.IsSuccessStatusCode)
            {
                //Variant goes in Data Transfer Object
                VariantDto SelectedVariant = response.Content.ReadAsAsync <VariantDto>().Result;
                ViewModel.variant = SelectedVariant;

                //Find countries with this variant
                url      = "variantdata/getcountriesforvariant/" + id;
                response = client.GetAsync(url).Result;

                //Put data into Variant data transfer object
                IEnumerable <CountryDto> SelectedCountries = response.Content.ReadAsAsync <IEnumerable <CountryDto> >().Result;
                ViewModel.variantcountries = SelectedCountries;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
Beispiel #2
0
 public static Variant Convert(VariantDto item) =>
 new Variant
 {
     Id     = item.Id,
     PollId = item.PollId,
     Title  = item.Title
 };
        public void AddVariant(VariantDto dto)
        {
            var variantDomain = new VariantDomain(this, dto);

            Variants.Add(variantDomain);
            AddIntegratedEvent(ProductEventType.VARIANT_ADDED, dto.Id);
            Modify();
        }
Beispiel #4
0
 public void Update(VariantDto dto)
 {
     SetCode(dto.Code);
     SetName(dto.Name);
     SetDescription(dto.Description);
     SetBasePrice(dto.BasePrice);
     SetOptions(dto.Options);
     SetImages(dto.Images);
 }
 public void UpdateVariant(VariantDomain variantDomain, VariantDto dto)
 {
     variantDomain.Update(dto);
     if (variantDomain.Modified)
     {
         AddIntegratedEvent(ProductEventType.VARIANT_UPDATED, variantDomain.Id);
         Modify();
     }
 }
Beispiel #6
0
        public async Task <List <TaskItemDto> > GenerateDataLevelAsync(string userName)
        {
            var users = await GetUser(userName);

            var userId = users.First().Id;

            var levelList = await _unitOfWork.Repository <Word>().GetFilteredAsync(w => w.Level == Level && w.UserId == userId, "Translates");

            var listWords = levelList.ToList();

            var list  = new List <TaskItemDto>();
            var count = listWords.Count;
            var rand  = new Random(count);

            var generatedCount = levelList.Count() >= MAX_GENERATE_LEVEL ? MAX_GENERATE_LEVEL : levelList.Count();

            for (int i = 0; i < generatedCount; i++)
            {
                var newRand = rand.Next(count);
                var word    = listWords[newRand];
                if (CheckIsTaskPresent(list, word))
                {
                    i--;
                    continue;
                }
                var variants    = new List <VariantDto>();
                var listForVars = listWords.Where(w => w.Id != word.Id).ToList();
                for (int j = 0; j < 4; j++)
                {
                    var varNum      = rand.Next(listForVars.Count - 1);
                    var wordVariant = listForVars[varNum];

                    var strvar  = GetVariantText(wordVariant);
                    var varItem = new VariantDto()
                    {
                        Translation = strvar
                    };
                    variants.Add(varItem);
                }
                variants.Add(new VariantDto()
                {
                    IsCorrect   = true,
                    Translation = GetVariantText(word)
                });
                variants.Sort((var1, var2) => string.Compare(var1.Translation, var2.Translation, true));
                list.Add(new TaskItemDto()
                {
                    Origin   = GetOriginalText(word),
                    Variants = variants,
                    Word     = _mapper.Map <WordDto>(word)
                });
            }

            return(list);
        }
Beispiel #7
0
 public VariantDomain(ProductDomain root, VariantDto dto)
 {
     Root        = root;
     Code        = dto.Code;
     Name        = dto.Name;
     Description = dto.Description;
     BasePrice   = dto.BasePrice;
     Status      = VariantStatus.ACTIVE;
     SetOptions(dto.Options);
     SetImages(dto.Images);
 }
 public static VariantViewModel CreateVariantVm(VariantDto variantDto, int itemId, int points, CourseViewModel courseVm)
 {
     return(new VariantViewModel
     {
         WisId = variantDto.Id,
         WisItemId = itemId,
         Title = variantDto.Title,
         Points = points,
         Limit = variantDto.Limit,
         Reg = variantDto.Reg,
         Course = courseVm
     });
 }
Beispiel #9
0
        public ActionResult DeleteConfirm(int id)
        {
            string url = "variantdata/findvariant/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            //Debug.WriteLine(response.StatusCode);
            if (response.IsSuccessStatusCode)
            {
                //Put data into Variant data transfer object
                VariantDto SelectedVariant = response.Content.ReadAsAsync <VariantDto>().Result;
                return(View(SelectedVariant));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
        public IHttpActionResult GetVariants()
        {
            List <Variant>    Variants    = db.Variants.ToList();
            List <VariantDto> VariantDtos = new List <VariantDto> {
            };

            foreach (var Variant in Variants)
            {
                VariantDto NewVariant = new VariantDto
                {
                    VariantID   = Variant.VariantID,
                    VariantName = Variant.VariantName
                };
                VariantDtos.Add(NewVariant);
            }

            return(Ok(VariantDtos));
        }
        public IHttpActionResult GetVariantsForCountry(int id)
        {
            List <Variant> Variants = db.Variants
                                      .Where(s => s.Countries.Any(t => t.CountryID == id))
                                      .ToList();
            List <VariantDto> VariantDtos = new List <VariantDto> {
            };

            //Here you can choose which information is exposed to the API
            foreach (var Variant in Variants)
            {
                VariantDto NewVariant = new VariantDto
                {
                    VariantID   = Variant.VariantID,
                    VariantName = Variant.VariantName
                };
                VariantDtos.Add(NewVariant);
            }

            return(Ok(VariantDtos));
        }
        public IHttpActionResult FindVariant(int id)
        {
            //Find the data
            Variant Variant = db.Variants.Find(id);

            //if not found, return 404 status code.
            if (Variant == null)
            {
                return(NotFound());
            }

            //put into a 'friendly object format'
            VariantDto VariantDto = new VariantDto
            {
                VariantID   = Variant.VariantID,
                VariantName = Variant.VariantName
            };


            //pass along data as 200 status code OK response
            return(Ok(VariantDto));
        }
        public IProduct BuildFromProduct(StormProduct stormProduct)
        {
            var p = new ProductDto();

            p.Category            = new CategoryDto();
            p.Category.ExternalId = stormProduct.CategoryId.ToString();

            p.Manufacturer            = new ManufacturerDto();
            p.Manufacturer.Name       = stormProduct.Manufacturer.Name;
            p.Manufacturer.ExternalId = stormProduct.Manufacturer.Id.ToString();
            p.Manufacturer.ImageUrl   = stormProduct.Manufacturer.LogoKey;

            p.ExternalId       = stormProduct.Id.ToString();
            p.PrimaryImageUrl  = _configuration["Storm:ImagePrefix"] + stormProduct.ImageKey;
            p.ShortDescription = stormProduct.SubDescription;
            p.Description      = stormProduct.Description;

            p.Files = new List <IFile>();

            // Add default image
            FileDto primaryimagefile = new FileDto();

            p.Files.Add(primaryimagefile);

            primaryimagefile.ExternalId = stormProduct.ImageKey;
            primaryimagefile.ImageUrl   = _configuration["Storm:ImagePrefix"] + stormProduct.ImageKey;
            primaryimagefile.Extension  = "jpg";
            primaryimagefile.Name       = stormProduct.Image;

            if (stormProduct.Files != null)
            {
                foreach (var stormfile in stormProduct.Files)
                {
                    FileDto filedto = new FileDto();
                    p.Files.Add(filedto);

                    filedto.ExternalId = stormfile.Key;
                    filedto.ImageUrl   = _configuration["Storm:ImagePrefix"] + stormfile.Key;
                    filedto.Extension  = stormfile.Extension;
                    filedto.Name       = stormfile.Name;
                }
            }


            p.Values = new List <IAttributeValue>();
            foreach (var parametric in stormProduct.Parametrics)
            {
                AttributeValueDto av = new AttributeValueDto();
                av.Name          = parametric.Name;
                av.Code          = parametric.Value2;
                av.Value         = parametric.Value;
                av.ExternalId    = parametric.Id.ToString();
                av.Uom           = parametric.Uom;
                av.AttributeCode = parametric.ValueId.HasValue ? parametric.ValueId.Value.ToString() : string.Empty;
                av.Hidden        = parametric.IsHidden ?? false;
                p.Values.Add(av);
            }

            p.Variants = new List <VariantDto>();



            if (stormProduct.Variants == null || stormProduct.Variants.Length == 0)
            {
                var primaryVariant = new VariantDto();
                p.Variants.Add(primaryVariant);
                p.PrimaryVariant = primaryVariant;

                decimal?previousPrice = null;
                if (stormProduct.PriceStandard.HasValue && stormProduct.PriceStandard.Value > 0.0M)
                {
                    previousPrice = stormProduct.PriceStandard.Value;
                }

                primaryVariant.PartNo        = stormProduct.PartNo;
                primaryVariant.PreviousPrice = previousPrice;
                primaryVariant.Price         = stormProduct.Price;
                primaryVariant.PriceListId   = stormProduct.PriceListId.ToString();
                primaryVariant.VatRate       = stormProduct.VatRate;
                primaryVariant.VendorPartNo  = stormProduct.Manufacturer.PartNo;
                primaryVariant.VariantName   = stormProduct.Name;
                primaryVariant.ImageUrl      = _configuration["Storm:ImagePrefix"] + stormProduct.ImageKey;

                primaryVariant.AvailableToSell = 0.0M;
                if (stormProduct.OnHand != null)
                {
                    primaryVariant.AvailableToSell = stormProduct.OnHand.Value;
                    primaryVariant.LeadTime        = stormProduct.OnHand.LeadtimeDayCount ?? 0;
                }
                if (stormProduct.OnHandSupplier != null)
                {
                    if (primaryVariant.AvailableToSell == 0)
                    {
                        primaryVariant.LeadTime = stormProduct.OnHandSupplier.LeadtimeDayCount ?? 0;
                    }
                    primaryVariant.AvailableToSell += stormProduct.OnHandSupplier.Value;
                }

                if (stormProduct.IsBuyable)
                {
                    primaryVariant.Buyable = _buyableExtension.Buyable(p, primaryVariant);
                }
                primaryVariant.StockStatus = _buyableExtension.StockStatus(p, primaryVariant);
            }
            else
            {
                foreach (var stormVariant in stormProduct.Variants)
                {
                    var primaryVariant = new VariantDto();
                    p.Variants.Add(primaryVariant);

                    primaryVariant.PartNo        = stormVariant.PartNo;
                    primaryVariant.PreviousPrice = stormVariant.PriceStandard;
                    primaryVariant.Price         = stormVariant.Price;
                    primaryVariant.PriceListId   = stormVariant.PriceListId.ToString();
                    primaryVariant.VatRate       = stormVariant.VatRate;
                    //primaryVariant.VendorPartNo = stormVariant.Manufacturer.PartNo;
                    primaryVariant.VariantName = stormVariant.VariantName;
                    primaryVariant.ImageUrl    = _configuration["Storm:ImagePrefix"] + stormVariant.ImageKey;

                    primaryVariant.AvailableToSell = 0.0M;
                    if (stormVariant.OnHand != null)
                    {
                        primaryVariant.AvailableToSell = stormVariant.OnHand.Value;
                        primaryVariant.LeadTime        = stormVariant.OnHand.LeadtimeDayCount ?? 0;
                    }
                    if (stormVariant.OnHandSupplier != null)
                    {
                        if (primaryVariant.AvailableToSell == 0)
                        {
                            primaryVariant.LeadTime = stormVariant.OnHandSupplier.LeadtimeDayCount ?? 0;
                        }
                        primaryVariant.AvailableToSell += stormVariant.OnHandSupplier.Value;
                    }

                    if (stormProduct.IsBuyable)
                    {
                        primaryVariant.Buyable = _buyableExtension.Buyable(p, primaryVariant);
                    }
                    primaryVariant.StockStatus = _buyableExtension.StockStatus(p, primaryVariant);
                }
                p.PrimaryVariant = p.Variants[0];
            }

            return(p);
        }
        public IProduct BuildFromItem(StormProductItem stormProductItem)
        {
            var p = new ProductDto();

            p.Category            = new CategoryDto();
            p.Category.ExternalId = stormProductItem.CategoryId.ToString();
            p.GroupByKey          = stormProductItem.GroupByKey;
            p.Name = stormProductItem.Name;

            p.Manufacturer            = new ManufacturerDto();
            p.Manufacturer.Name       = stormProductItem.Manufacturer.Name;
            p.Manufacturer.ExternalId = stormProductItem.Manufacturer.Id.ToString();
            p.Manufacturer.ImageUrl   = stormProductItem.Manufacturer.LogoKey;


            p.ExternalId       = stormProductItem.Id.ToString();
            p.PrimaryImageUrl  = _configuration["Storm:ImagePrefix"] + stormProductItem.ImageKey;
            p.ShortDescription = stormProductItem.SubDescription;

            p.Files = new List <IFile>();


            p.Variants = new List <VariantDto>();

            var primaryVariant = new VariantDto();

            p.Variants.Add(primaryVariant);
            p.PrimaryVariant = primaryVariant;

            decimal?previousPrice = null;

            if (stormProductItem.PriceStandard.HasValue && stormProductItem.PriceStandard.Value > 0.0M)
            {
                previousPrice = stormProductItem.PriceStandard.Value;
            }

            primaryVariant.PartNo        = stormProductItem.PartNo;
            primaryVariant.PreviousPrice = previousPrice;
            primaryVariant.Price         = stormProductItem.Price;
            primaryVariant.PriceListId   = stormProductItem.PriceListId.ToString();
            primaryVariant.VatRate       = stormProductItem.VatRate;
            primaryVariant.VendorPartNo  = stormProductItem.Manufacturer.PartNo;
            primaryVariant.VariantName   = stormProductItem.VariantName ?? stormProductItem.Name;
            primaryVariant.Url           = stormProductItem.VariantUniqueName ?? stormProductItem.UniqueName;
            primaryVariant.ImageUrl      = _configuration["Storm:ImagePrefix"] + (stormProductItem.VariantImageKey ?? stormProductItem.ImageKey);

            primaryVariant.AvailableToSell = 0.0M;
            if (stormProductItem.OnHand != null)
            {
                primaryVariant.AvailableToSell = stormProductItem.OnHand.Value;
                primaryVariant.LeadTime        = stormProductItem.OnHand.LeadtimeDayCount ?? 0;
            }
            if (stormProductItem.OnHandSupplier != null)
            {
                if (primaryVariant.AvailableToSell == 0)
                {
                    primaryVariant.LeadTime = stormProductItem.OnHandSupplier.LeadtimeDayCount ?? 0;
                }
                primaryVariant.AvailableToSell += stormProductItem.OnHandSupplier.Value;
            }

            if (stormProductItem.IsBuyable)
            {
                primaryVariant.Buyable = _buyableExtension.Buyable(p, primaryVariant);
            }
            primaryVariant.StockStatus = _buyableExtension.StockStatus(p, primaryVariant);

            return(p);
        }
 public static IGraph[] ConvertBack(VariantDto data)
 {
     return(data.Graphs
            .Select(GraphToDtoConverter.ConvertBack)
            .ToArray());
 }