private int CalculatePrice(Data.Models.Product product, List <ProductEngine.common.InputModel.Product> products) { var orderedProduct = products.Find(x => x.Id == product.ProductId); int totalCost = 0; var productDiscount = product.ProductDiscount.FirstOrDefault(); int reminder = 0; if (productDiscount != null) { var unitNo = productDiscount.DiscountUnit; if (unitNo <= orderedProduct.Quantity) { int absoluteResult = Math.DivRem(orderedProduct.Quantity, unitNo.Value, out reminder); totalCost += ((product.ProductPricing.FirstOrDefault().BasePrice *absoluteResult *unitNo) * (100 - productDiscount.DiscountValue) / 100).Value; totalCost += (product.ProductPricing.FirstOrDefault().BasePrice *reminder).Value; } else { totalCost += (product.ProductPricing.FirstOrDefault().BasePrice *orderedProduct.Quantity).Value; } } else { totalCost += (product.ProductPricing.FirstOrDefault().BasePrice *orderedProduct.Quantity).Value; } return(totalCost); }
public void SaveProduct(string json) { DTO.ProductSaveDto productSave = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.ProductSaveDto>(json); Data.Models.Product product = new Data.Models.Product() { Name = productSave.ProductName, Description = productSave.ProductDescription, StateId = (int)Enums.State.Active, CategoryId = productSave.CategoryId, CreateDate = DateTime.UtcNow }; product = productAdapter.Insert <Data.Models.Product>(product); //using (ECommerceContext eCommerceContext = new ECommerceContext()) //{ // eCommerceContext.Products.Add(new Models.Product() // { // Name = productSave.ProductName, // Description = productSave.ProductDescription, // StateId = (int)Enums.State.Active, // CategoryId = productSave.CategoryId, // CreateDate = DateTime.UtcNow, // }); // eCommerceContext.SaveChanges(); //} }
public ServiceResponse <Data.Models.Product> CreateProduct(Data.Models.Product product) { try { _db.Products.Add(product); var newInventory = new ProductInventory { Product = product, QuantityOnHand = 0, IdealQuantity = 10, }; _db.ProductInventories.Add(newInventory); _db.SaveChanges(); return(new ServiceResponse <Data.Models.Product> { Data = product, IsSuccess = true, Time = DateTime.UtcNow, Message = "Saved new product" }); } catch (Exception e) { return(new ServiceResponse <Data.Models.Product> { Data = product, Time = DateTime.UtcNow, IsSuccess = false, Message = "Error saving product" }); } }
public ServiceResponse <Data.Models.Product> CreateProduct(Data.Models.Product product) { try { this.db.Products.Add(product); var newInventory = new ProductInventory() { Product = product, QuantityOnHand = 0, IdealQuantity = 10, }; this.db.ProductInventories.Add(newInventory); this.db.SaveChanges(); return(new ServiceResponse <Data.Models.Product>() { Data = product, Time = DateTime.UtcNow, Message = "Saved new product", IsSuccess = true }); } catch (Exception e) { return(new ServiceResponse <Data.Models.Product>() { Data = product, Time = DateTime.UtcNow, Message = e.StackTrace, IsSuccess = false }); } }
public async Task <ActionResult> CreateNewRateable([FromBody] CreateRateableRequest ratable) { var rate = new Rateable() { Base64Image = ratable.Base64Image, FileName = ratable.FileName, ProductName = ratable.Name }; var res = await _googleService.CreateNewRateable(rate); var product = new Data.Models.Product() { ProductName = ratable.Name, Rating = new List <Rating>() { } }; product.Rating.Add(new Rating() { Value = ratable.Rating }); _ratingCoreContext.Products.Add(product); int saved = _ratingCoreContext.SaveChanges(); return(Ok(product.ProductId)); }
internal static Product ToViewModel(Data.Models.Product product) { return(new Product() { Id = product.Id, Name = product.Name, Price = product.Price }); }
public bool AddPost(PostCreateModel postCreate, string currentUserName) { var product = this.UOW.ProductRepository.List().Where(p => p.ProductTypeId == postCreate.ProductTypeId).FirstOrDefault(); var currentUser = this.UOW.UserManager.FindByNameAsync(currentUserName).Result; if (product is null) { product = new Data.Models.Product { ProductTypeId = postCreate.ProductTypeId, Count = postCreate.Count }; this.UOW.ProductRepository.Save(product); } var post = this.Mapper.Map <PostCreateModel, Data.Models.Post>(postCreate); post.Product = product; post.ProductId = product.ProductId; post.UserId = currentUser.Id; if (post.PostType == PostType.ForSale) { var postList = this.UOW.PostRepository.List().Where(p => p.PostType != PostType.ForSale && p.UserId != post.UserId); if (post.PostId != 0) { foreach (var p in postList) { var productType = this.UOW.ProductTypeRepository.List().Where(t => t.ProductTypeId == post.Product.ProductTypeId).FirstOrDefault(); var message = $"{post.PostName} postum popoxutyun e katarvel\n" + $"Full Name: - Ars\n" + $"Phone: - 094940708\n" + $"Post Name: - {postCreate.PostName}\n" + $"Price: - {postCreate.Price}\n" + $"Post description: - I am selling {productType.ProductTypeName} {post.Product.Count}\n" + $"Post Link: - https://localhost:44372/Post/PostView/{post.PostId}"; var userTo = UOW.UserRepository.GetByID(p.UserId); EmailSender.SendEmailMessage("*****@*****.**", "Quick Response Soft", userTo.Email, message, "Post updated"); } return(this.UOW.PostRepository.Update(post)); } foreach (var p in postList) { var message = $"Full Name: - {currentUser.FirstName} {currentUser.LastName}\n" + $"Phone: - {currentUser.PhoneNumber}\n" + $"Post Name: - {postCreate.PostName}\n" + $"Price: - {postCreate.Price}\n" + $"Post description: - I am selling {postCreate.Body} {postCreate.Count}\n" + $"Post Link: - https://localhost:44372/Post/PostView/{post.PostId}";; var user = this.UOW.UserRepository.GetByID(p.UserId); EmailSender.SendEmailMessage("*****@*****.**", "Quick Response Soft", user.Email, message, "New post"); } } else if (post.PostId != 0) { return(this.UOW.PostRepository.Update(post)); } return(this.UOW.PostRepository.Save(post)); }
public async Task <ActionResult <Product> > PostProduct(Data.Models.Product product) { if (product == null) { return(BadRequest()); } product.Slug = Slug.Generate(product.Title); await _productService.Create(product); return(CreatedAtAction("GetProduct", new { id = product.Id }, product)); }
//Maps a Product data model to a productModel view model public static ProductModel SerializeProductModel(Data.Models.Product product) { return(new ProductModel { Id = product.Id, CreatedOn = product.CreatedOn, UpdatedOn = product.UpdatedOn, Price = product.Price, Name = product.Name, Description = product.Description, IsArchived = product.IsArchived }); }
public async Task AddAsync(string name, string description, double price) { var product = new Data.Models.Product { Name = name, Description = description, Price = price }; await this.dbContext.Products.AddAsync(product); await this.dbContext.SaveChangesAsync(); }
public IActionResult Index(int id) { Data.Models.Product product = _productRepository.Find(id); //Data.Models.Product product; //using (ECommerce.Data.ECommerceContext eCommerceContext = new ECommerce.Data.ECommerceContext()) //{ // product = eCommerceContext.Products.SingleOrDefault(a => a.Id == id); //} return(View(product)); }
public void SaveProduct(string json) { DTO.ProductSaveDto productSave = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.ProductSaveDto>(json); Data.Models.Product product = new Data.Models.Product() { Name = productSave.ProductName, Description = productSave.ProductDescription, StateId = (int)Enums.State.Active, CategoryId = productSave.CategoryId, CreateDate = DateTime.UtcNow }; productAdapter.Insert <Data.Models.Product>(product); }
public void ProductUpdate(string json) { DTO.ProductUpdateDto productUpdate = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.ProductUpdateDto>(json); using (Data.ECommerceContext eCommerceContext = new Data.ECommerceContext()) { Data.Models.Product product = eCommerceContext.Products.SingleOrDefault(a => a.Id == productUpdate.ProductId); product.Description = productUpdate.ProductDescription; product.Name = productUpdate.ProductName; eCommerceContext.Products.Update(product); eCommerceContext.SaveChanges(); } }
public static ProductViewModel SerializeProductModel(Data.Models.Product product) { return(new ProductViewModel { Id = product.Id, DateCreated = product.DateCreated, DateUpdated = product.DateUpdated, Price = product.Price, Name = product.Name, Description = product.Description, IsTaxable = product.IsTaxable, IsArchived = product.IsArchived }); }
public void Create(string name, decimal price, string imageUrl) { using (var db = new ByTheCakeDbContext()) { var product = new Data.Models.Product() { Name = name, Price = price, ImageUrl = imageUrl }; db.Add(product); db.SaveChanges(); } }
public IActionResult Edit(Data.Models.Product product) { using (ECommerce.Data.ECommerceContext context = new ECommerce.Data.ECommerceContext()) { Data.Models.Product updatedProduct = context.Products.SingleOrDefault(x => x.Id == product.Id); if (updatedProduct != null) { updatedProduct.Name = product.Name; updatedProduct.Description = product.Description; updatedProduct.CategoryId = product.CategoryId; context.Products.Update(updatedProduct); context.SaveChanges(); } } //tekrar index metoduna yönlendiriyor return(RedirectToAction("Index", new { id = product.Id })); }
public bool UpdateProduct(string json) { bool result = false; DTO.ProductUpdate productUpdate = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.ProductUpdate>(json); using (ECommerceContext eCommerceContext = new ECommerceContext()) { Data.Models.Product product = eCommerceContext.Products.SingleOrDefault(a => a.Id == productUpdate.ProductId); if (product != null) { eCommerceContext.Products.Update(product); eCommerceContext.SaveChanges(); result = true; } } return(result); }
public async Task <IActionResult> PutProduct(int id, Data.Models.Product product) { if (id != product.Id || product == null) { return(BadRequest()); } var _productExists = await _productService.GetById(id); if (_productExists == null) { return(NotFound()); } await _productService.Edit(product); return(NoContent()); }
public ServiceResponse <Data.Models.Product> CreateProduct(Data.Models.Product product) { try { _db.Products.Add(product); var newInventory = new Data.Models.Inventory { Product = product, AvailableQuantity = 0, SupposedQuantity = 10 }; _db.ProductInventories.Add(newInventory); _db.SaveChanges(); return(new ServiceResponse <Data.Models.Product> { Data = product, Time = DateTime.UtcNow, Message = "Saved new product", IsSuccess = true }); } catch (Exception e) { return(new ServiceResponse <Data.Models.Product> { Data = product, Time = DateTime.UtcNow, Message = e.StackTrace, IsSuccess = false }); } }
/// <summary> /// Adds new product to DB /// </summary> /// <param name="product"></param> /// <returns></returns> public ServiceResponse <Data.Models.Product> CreateProduct(Data.Models.Product product) { try { _context.Products.Add(product); var newInventory = new ProductInventory { InventoryProduct = product, QuantityOnHand = 0, IdealQuantity = 10 }; _context.ProductInventories.Add(newInventory); _context.SaveChanges(); return(new ServiceResponse <Data.Models.Product> { Data = product, Time = DateTime.UtcNow, Message = "Saved new product", IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponse <Data.Models.Product> { Data = product, Time = DateTime.UtcNow, Message = $"Error saving new product: {ex.Message}", IsSuccess = false }); } }
public ServiceResponse <bool> CreateProduct(Data.Models.Product product) { throw new System.NotImplementedException(); }
public IActionResult Index(int id) { Data.Models.Product product = _productRepository.Find(id); return(View(product)); }