Exemplo n.º 1
0
        /// <summary>
        ///     Allows you to convert the current product option object to the DTO equivalent for use with the REST API
        /// </summary>
        /// <returns>A new instance of OptionDTO</returns>
        public OptionDTO ToDto()
        {
            var dto = new OptionDTO();

            dto.Bvin      = Bvin;
            dto.IsShared  = IsShared;
            dto.IsVariant = IsVariant;
            dto.Items     = new List <OptionItemDTO>();
            foreach (var oi in Items)
            {
                dto.Items.Add(oi.ToDto());
            }
            dto.Name         = Name;
            dto.NameIsHidden = NameIsHidden;
            dto.OptionType   = (OptionTypesDTO)(int)OptionType;
            dto.Settings     = new List <OptionSettingDTO>();
            foreach (var set in Settings)
            {
                var setdto = new OptionSettingDTO();
                setdto.Key   = set.Key;
                setdto.Value = set.Value;
                dto.Settings.Add(setdto);
            }
            dto.TextSettings = new List <OptionSettingDTO>();
            foreach (var txtSet in TextSettings)
            {
                var textSetDto = new OptionSettingDTO();
                textSetDto.Key   = txtSet.Key;
                textSetDto.Value = txtSet.Value;
                dto.TextSettings.Add(textSetDto);
            }
            dto.StoreId = StoreId;

            return(dto);
        }
Exemplo n.º 2
0
        public OptionDTO GetById(int entityId)
        {
            OptionDTO item = new OptionDTO();

            string connectionString = ConnectionStringHelper.GetConnStringFromConfigFile();
            string commandText      = "SELECT * FROM [dbo].[Options] WHERE [OptionId] = @entityId";

            SqlParameter parameter = new SqlParameter("@entityId", entityId);

            using (SqlDataReader reader = CommandHelper.ExecuteReader(connectionString, commandText, CommandType.Text, parameter))
            {
                if (reader.HasRows)
                {
                    item = new OptionDTO
                    {
                        OptionId = (int)reader["OptionId"],
                        Text     = reader["Text"].ToString(),
                    };
                }
                else
                {
                    Console.WriteLine("Id not found");
                }

                return(item);
            }
        }
Exemplo n.º 3
0
        public void FromDto(OptionDTO dto)
        {
            if (dto == null)
            {
                return;
            }

            this.Bvin      = dto.Bvin ?? string.Empty;
            this.IsShared  = dto.IsShared;
            this.IsVariant = dto.IsVariant;
            this.Items.Clear();
            this.Name         = dto.Name ?? string.Empty;
            this.NameIsHidden = dto.NameIsHidden;
            this.StoreId      = dto.StoreId;

            OptionTypes typeCode = OptionTypes.DropDownList;

            typeCode = (OptionTypes)dto.OptionType;
            this.SetProcessor(typeCode);

            foreach (OptionItemDTO oi in dto.Items)
            {
                OptionItem opt = new OptionItem();
                opt.FromDto(oi);
                this.AddItem(opt);
            }
            this.Settings = new OptionSettings();
            foreach (OptionSettingDTO set in dto.Settings)
            {
                this.Settings.AddOrUpdate(set.Key, set.Value);
            }
        }
Exemplo n.º 4
0
        public void ProductOption_CreateAndAssignToProduct()
        {
            //Create API Proxy
            var proxy = CreateApiProxy();

            //Create Production option
            var option = new OptionDTO
            {
                StoreId    = 1,
                Name       = "TEST Option",
                OptionType = OptionTypesDTO.DropDownList,
                Items      = new List <OptionItemDTO>()
            };
            var createResponse = proxy.ProductOptionsCreate(option);

            CheckErrors(createResponse);

            //Assign product option to test product
            var assingtoProductResponse = proxy.ProductOptionsAssignToProduct(createResponse.Content.Bvin,
                                                                              TestConstants.TestProductBvin, false);

            Assert.IsTrue(assingtoProductResponse.Content);

            //Generate product variants for options
            var generateVariantsResponse = proxy.ProductOptionsGenerateAllVariants(TestConstants.TestProductBvin);

            Assert.IsTrue(generateVariantsResponse.Content);
        }
Exemplo n.º 5
0
        private void btnSaveItem_Click(object sender, EventArgs e)
        {
            Regex reg = new Regex("\\d+");

            if (!reg.IsMatch(txtValue.Text))
            {
                txtValue.Text = "0";
                return;
            }
            if (editItemId == Guid.Empty)
            {
                OptionDTO option = new OptionDTO();
                option.DisplayName  = txtLabel.Text;
                option.Value        = int.Parse(txtValue.Text);
                option.Description  = MemoDescription.Text;
                option.OptionId     = Guid.NewGuid();
                option.DisplayOrder = OptionListBindingSource.Count + 1;
                OptionListBindingSource.Add(option);
            }
            else
            {
                OptionDTO option = OptionListBindingSource.Current as OptionDTO;
                if (option != null && option.OptionId == editItemId)
                {
                    option.DisplayName  = txtLabel.Text;
                    option.Value        = int.Parse(txtValue.Text);
                    option.Description  = MemoDescription.Text;
                    option.DisplayOrder = OptionListBindingSource.IndexOf(option);
                }
            }
        }
Exemplo n.º 6
0
        public void Update(OptionDTO entity)
        {
            Option option = _mapper.Map <Option>(entity);

            _unitOfWork.Options.Update(option);
            _unitOfWork.SaveChanges();
        }
Exemplo n.º 7
0
        public IHttpActionResult UpdateOption(int id, [FromBody] OptionBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            OptionDTO optionToUpdate = this._optionService.GetById(id);

            if (optionToUpdate == null)
            {
                return(Content(HttpStatusCode.NotFound,
                               $"Test category with id={id} does not exist."));
            }

            OptionDTO updatedOption = new OptionDTO()
            {
                QuestionId = model.QuestionId,
                Body       = model.Body,
                Index      = model.Index,
                IsCorrect  = model.IsCorrect
            };

            this._optionService.Update(updatedOption);

            return(Ok());
        }
Exemplo n.º 8
0
        //DTO
        public OptionDTO ToDto()
        {
            OptionDTO dto = new OptionDTO();

            dto.Bvin      = this.Bvin;
            dto.IsShared  = this.IsShared;
            dto.IsVariant = this.IsVariant;
            dto.Items     = new List <OptionItemDTO>();
            foreach (OptionItem oi in this.Items)
            {
                dto.Items.Add(oi.ToDto());
            }
            dto.Name         = this.Name;
            dto.NameIsHidden = this.NameIsHidden;
            dto.OptionType   = (OptionTypesDTO)((int)this.OptionType);
            dto.Settings     = new List <OptionSettingDTO>();
            foreach (var set in this.Settings)
            {
                OptionSettingDTO setdto = new OptionSettingDTO();
                setdto.Key   = set.Key;
                setdto.Value = set.Value;
                dto.Settings.Add(setdto);
            }
            dto.StoreId = this.StoreId;

            return(dto);
        }
Exemplo n.º 9
0
        public async Task <OptionDTO> UpdateOption(Guid id, OptionDTO option)
        {
            option.Id = id;
            var domainOption = Mapper.Map <Option>(option);
            await Task.Run(() => Options.Update(domainOption));

            return(option);
        }
Exemplo n.º 10
0
        private void BtnDeleteOption_Click(object sender, EventArgs e)
        {
            OptionDTO option = OptionListBindingSource.Current as OptionDTO;

            if (option != null)
            {
                OptionListBindingSource.Remove(option);
            }
        }
Exemplo n.º 11
0
 public static Option OptionDTOToEntity(OptionDTO DTOObject)
 {
     return(new Option
     {
         OptionId = DTOObject.OptionId,
         Text = DTOObject.Text,
         CreateDate = DTOObject.CreateDate,
         ModifiedDate = DTOObject.ModifiedDate
     });
 }
Exemplo n.º 12
0
        public void Add(OptionDTO entity)
        {
            Option result = DataConverter.OptionDTOToEntity(entity);

            using (var context = new DemoContext())
            {
                context.Options.Add(result);
                context.SaveChanges();
            }
        }
Exemplo n.º 13
0
        public async Task <OptionDTO> CreateOption(Guid questionId, OptionDTO option)
        {
            var domainOption = Mapper.Map <Option>(option);

            // Bind to question
            domainOption.QuestionId = questionId;

            await Task.Run(() => Options.Update(domainOption));

            return(option);
        }
Exemplo n.º 14
0
        public void Add(OptionDTO entity)
        {
            string connectionString = ConnectionStringHelper.GetConnStringFromConfigFile();
            string commandText      = "INSERT INTO [dbo].[Options] ([Text]) VALUES (@Text)";

            SqlParameter parameter = new SqlParameter("@Text", entity.Text);

            int rows = CommandHelper.ExecuteNonQuery(connectionString, commandText, CommandType.Text, parameter);

            Console.WriteLine("{0} row(s) inserted", rows);
        }
Exemplo n.º 15
0
        public void Update(OptionDTO entity)
        {
            Option result = DataConverter.OptionDTOToEntity(entity);

            using (var context = new DemoContext())
            {
                var found = context.Options.Find(result.OptionId);
                found.Text         = entity.Text;
                found.ModifiedDate = DateTime.Now;
                context.SaveChanges();
            }
        }
Exemplo n.º 16
0
        public async Task <IActionResult> ModifyOption(int id, [FromBody] OptionDTO option)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest() as IActionResult);
            }

            var entity = await service.PutAsync(option);

            return(entity == null?StatusCode(304) as IActionResult
                   : Ok(entity));
        }
Exemplo n.º 17
0
        private void listOption_SelectedIndexChanged(object sender, EventArgs e)
        {
            OptionDTO option = OptionListBindingSource.Current as OptionDTO;

            if (option != null)
            {
                txtLabel.Text        = option.DisplayName;
                txtValue.Text        = option.Value.ToString();
                MemoDescription.Text = option.Description;
                editItemId           = option.OptionId;
            }
        }
Exemplo n.º 18
0
        private void ListSort(OptionDTO option, OptionDTO preOption)
        {
            List <OptionSetDTO> optionSetList = EntityBindingSource.DataSource as List <OptionSetDTO>;

            if (optionSetList != null && optionSetList.Count > 0)
            {
                int index    = optionSetList[0].OptionList.IndexOf(option);
                int preIndex = optionSetList[0].OptionList.IndexOf(preOption);
                optionSetList[0].OptionList[index]    = preOption;
                optionSetList[0].OptionList[preIndex] = option;
                EntityBindingSource.DataSource        = optionSetList;
            }
        }
Exemplo n.º 19
0
        // POST: Options
        public async Task <IActionResult> AddOption([FromBody] OptionDTO option)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest() as IActionResult);
            }

            var entity = await service.PostAsync(option);

            return(entity == null?StatusCode(409) as IActionResult
                   : Created($"{Request?.Scheme}://{Request?.Host}{Request?.Path}{entity.Id}",
                             entity));
        }
Exemplo n.º 20
0
        public OptionDTO MapperToDTO(Option Option)
        {
            var optionDTO = new OptionDTO
            {
                Id = Option.Id
                ,
                Description = Option.Description
                ,
                Quantity = Option.Quantity
            };

            return(optionDTO);
        }
Exemplo n.º 21
0
 public List <OptionSetDTO> GetOptionSetById(Guid optionSetId, int languageId)
 {
     using (var context = KatrinEntities.CreateInstance())
     {
         context.Configuration.ProxyCreationEnabled = false;
         //var query = context.OptionSets
         //    .FetchMany(r=>r.AttributePicklistValues);
         var optionSetQuery = from o in context.OptionSets
                              join p in context.AttributePicklistValues.OrderBy(c => c.DisplayOrder)
                              on o.OptionSetId equals p.OptionSetId into pickupList
                              join local in context.LocalizedLabels.Where(c => c.LanguageId == languageId)
                              on o.OptionSetId equals local.ObjectId into locals
                              where o.OptionSetId == optionSetId
                              select new
         {
             optionset  = o,
             pList      = pickupList,
             localLabls = locals
         };
         return(optionSetQuery.ToList().Select(r =>
         {
             var item = new OptionSetDTO();
             var description = r.localLabls.Where(c => c.ObjectColumnName == "Description").FirstOrDefault();
             item.Description = description != null ? description.Label : "";
             var displayName = r.localLabls.Where(c => c.ObjectColumnName == "DisplayName").FirstOrDefault();
             item.DisplayName = displayName != null ? displayName.Label : "";
             item.IsCustomizable = r.optionset.IsCustomizable;
             item.Name = r.optionset.Name;
             item.OptionSetId = r.optionset.OptionSetId;
             item.OptionList = new List <OptionDTO>();
             r.pList.ToList().ForEach(p =>
             {
                 var option = new OptionDTO();
                 var itemDescription = context.LocalizedLabels.SingleOrDefault(c => c.ObjectId == p.AttributePicklistValueId &&
                                                                               c.ObjectColumnName == "Description" &&
                                                                               c.LanguageId == languageId);
                 option.Description = itemDescription != null ? itemDescription.Label : "";
                 var itemDisplayName = context.LocalizedLabels.Single(c => c.ObjectId == p.AttributePicklistValueId &&
                                                                      c.ObjectColumnName == "DisplayName" &&
                                                                      c.LanguageId == languageId);
                 option.DisplayName = itemDisplayName != null ? itemDisplayName.Label : "";
                 option.DisplayOrder = p.DisplayOrder;
                 option.OptionId = p.AttributePicklistValueId;
                 option.Value = p.Value;
                 item.OptionList.Add(option);
             });
             return item;
         }
                                               ).ToList());
     }
 }
Exemplo n.º 22
0
        public IHttpActionResult DeleteOption(int id)
        {
            OptionDTO optionToDel = this._optionService.GetById(id);

            if (optionToDel == null)
            {
                return(Content(HttpStatusCode.NotFound,
                               $"option with id={id} does not exist."));
            }

            this._optionService.Delete(id);

            return(Ok());
        }
Exemplo n.º 23
0
        public async Task deleteOptionAsync(OptionDTO optionModel)
        {
            logger.LogInformation($"Starting method {nameof(deleteOptionAsync)}.");

            if (optionModel == null)
            {
                var message = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)
                {
                    Content = new StringContent($"{nameof(optionModel)} cannot be null")
                };
                throw new HttpResponseException(message);
            }

            if (optionModel.Id == null)
            {
                var message = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)
                {
                    Content = new StringContent($"{nameof(optionModel)} is missing some required values")
                };
                throw new HttpResponseException(message);
            }

            var option = await appDb.Options.FindAsync(optionModel.Id);

            if (option == null)
            {
                var message = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)
                {
                    Content = new StringContent($"The option with given id {nameof(optionModel.Id)} doesn't exist in database")
                };
                throw new HttpResponseException(message);
            }

            try
            {
                appDb.Options.Remove(option);
                await appDb.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                var message = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)
                {
                    Content = new StringContent($"The option with given id {nameof(optionModel.Id)} cannot be deleted because some products have this option")
                };
                throw new HttpResponseException(message);
            }

            logger.LogInformation($"Finished method {nameof(deleteOptionAsync)}.");
        }
Exemplo n.º 24
0
        public Option MapperToEntity(OptionDTO optionDTO)
        {
            var option = new Option
            {
                Id = optionDTO.Id
                ,
                Description = optionDTO.Description
                ,
                Quantity = optionDTO.Quantity
                ,
                QuestionId = optionDTO.QuestionId
            };

            return(option);
        }
Exemplo n.º 25
0
        public IHttpActionResult Get([FromUri] int id)
        {
            var option = _optionService.Get(id);

            if (option == null)
            {
                return(NotFound());
            }

            OptionDTO optionDTO = new OptionDTO
            {
                Text = option.Text
            };

            return(Ok(option));
        }
Exemplo n.º 26
0
        public void Update(OptionDTO entity)
        {
            int    entityId = entity.OptionId;
            string text     = "Male";

            SqlParameter[] parameter = new SqlParameter[2];

            string connectionString = ConnectionStringHelper.GetConnStringFromConfigFile();
            string commandText      = "UPDATE [dbo].[Options] SET [Text] = @Text WHERE [OptionId] = @entityId";

            parameter[0] = new SqlParameter("@Text", text);
            parameter[1] = new SqlParameter("@entityId", entityId);

            int count = CommandHelper.ExecuteNonQuery(connectionString, commandText, CommandType.Text, parameter);

            Console.WriteLine("Items modified: {0}", count);
        }
Exemplo n.º 27
0
        public ActionResult Delete([FromBody] OptionDTO optionDTO)
        {
            try
            {
                if (optionDTO == null)
                {
                    return(NotFound());
                }

                _applicationServiceOption.Remove(optionDTO);
                return(Ok("O produto foi removido com sucesso!"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 28
0
        public ActionResult Put([FromBody] OptionDTO optionDTO)
        {
            try
            {
                if (optionDTO == null)
                {
                    return(NotFound());
                }

                _applicationServiceOption.Update(optionDTO);
                return(Ok("O produto foi atualizado com sucesso!"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 29
0
        private void BtnDown_Click(object sender, EventArgs e)
        {
            OptionDTO option = OptionListBindingSource.Current as OptionDTO;

            if (option != null)
            {
                OptionListBindingSource.MoveNext();
                var nextOption = OptionListBindingSource.Current as OptionDTO;
                if (nextOption != null)
                {
                    int orderIndex = nextOption.DisplayOrder ?? 0;
                    nextOption.DisplayOrder = option.DisplayOrder;
                    option.DisplayOrder     = orderIndex;
                    ListSort(nextOption, option);
                }
            }
        }
Exemplo n.º 30
0
        private void BtnUp_Click(object sender, EventArgs e)
        {
            OptionDTO option = OptionListBindingSource.Current as OptionDTO;

            if (option != null)
            {
                OptionListBindingSource.MovePrevious();
                var preOption = OptionListBindingSource.Current as OptionDTO;
                if (preOption != null)
                {
                    int orderIndex = preOption.DisplayOrder ?? 0;
                    preOption.DisplayOrder = option.DisplayOrder;
                    option.DisplayOrder    = orderIndex;
                    ListSort(option, preOption);
                }
            }
        }