예제 #1
0
 public void SaveDefaultProductName(TranslationOfProduct translation)
 {
     using (var context = new ListItContext())
     {
         var response = context.Set <TranslationOfProduct>().Add(translation);
         try
         {
             context.SaveChanges();
         }
         catch (System.Data.Entity.Validation.DbEntityValidationException e)
         {
             StringBuilder builder = new StringBuilder();
             foreach (var eve in e.EntityValidationErrors)
             {
                 builder.Append("Entity of type " + eve.Entry.Entity.GetType().Name
                                + " in state " + eve.Entry.State + " has the following" +
                                " validation errors:");
                 foreach (var ve in eve.ValidationErrors)
                 {
                     builder.Append("Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage);
                 }
             }
             throw new Exception(builder.ToString());
         }
     }
 }
예제 #2
0
 public static DefaultProductDto StaticDBToDto(DefaultProduct defaultProduct, TranslationOfProduct translation, LinkDefaultProductToCategory category)
 {
     if (defaultProduct == null || translation == null || category == null)
     {
         return(null);
     }
     return(new DefaultProductDto
     {
         Id = defaultProduct.Id,
         Name = translation.Translation,
         Currency_Id = defaultProduct.Currency_Id,
         Unit_Id = defaultProduct.UnitType_Id,
         Price = defaultProduct.Price,
         Category_Id = category.CategoryId,
         ProductTypeId = 1,      //= DefaultProduct
         ProductId = (int)defaultProduct.Product_Id
     });
 }
예제 #3
0
        public void Create(DefaultProductDto dto, int langId)
        {
            var product = new Product
            {
                Id             = dto.ProductId,
                Timestamp      = DateTime.Now,
                ProductType_Id = dto.ProductTypeId
            };
            var prodId = _prodRepository.CreateProduct(product);

            var defaultProduct = new DefaultProduct
            {
                Id          = dto.Id,
                Product_Id  = prodId,
                Currency_Id = dto.Currency_Id,
                UnitType_Id = dto.Unit_Id,
                Price       = dto.Price,
            };

            _prodRepository.Create(defaultProduct);

            // Save name
            var translation = new TranslationOfProduct
            {
                Language_Id = langId,
                Product_Id  = prodId,
                Translation = dto.Name
            };

            _prodRepository.SaveDefaultProductName(translation);

            // Link category
            var categoryrelation = new LinkDefaultProductToCategory
            {
                DefaultProductId = prodId,
                CategoryId       = (int)dto.Category_Id
            };

            _prodRepository.SaveDefaultProductCategory(categoryrelation);
        }
예제 #4
0
 protected ProductDto ConvertApiProductDBToDto(Product entity, ApiProduct apiProduct, ShoppingListEntry entry, TranslationOfProduct translation)
 {
     return(StaticDBToDto(entity, apiProduct, entry, translation));
 }
예제 #5
0
 protected ProductDto ConvertDefaultProductDBToDto(Product entity, DefaultProduct defaultProduct, ShoppingListEntry entry, TranslationOfProduct translation, LinkDefaultProductToCategory category)
 {
     return(StaticDBToDto(entity, defaultProduct, entry, translation, category));
 }
예제 #6
0
 public static ProductDto StaticDBToDto(Product product, ApiProduct apiProduct, ShoppingListEntry entry, TranslationOfProduct translation)
 {
     return(new ProductDto
     {
         Id = entry.Id,
         ProductTypeId = product.ProductType_Id,
         Name = translation.Translation,
         Currency_Id = (int)apiProduct.Currency_Id,
         Unit_Id = (int)apiProduct.Unit_Id,
         Quantity = (int)entry.Quantity,
         Price = (decimal)apiProduct.Price,
         ProductId = product.Id,
         //Category_Id = defaultProduct.Category_Id
     });
 }
예제 #7
0
 protected DefaultProductDto ConvertDBToDto(DefaultProduct entity, TranslationOfProduct translation, LinkDefaultProductToCategory productToCategory)
 {
     return(StaticDBToDto(entity, translation, productToCategory));
 }
예제 #8
0
 protected DefaultProductDto ConvertDBToDto(DefaultProduct entity, TranslationOfProduct translation)
 {
     return(StaticDBToDto(entity, translation));
 }