public ActionResult <PastPrice> CreatePastPrice([FromBody] PastPriceCreationDto pastPriceCreationDto, [FromHeader] string key) { try { if (!auth.AuthorizeUser(key)) { return(StatusCode(StatusCodes.Status401Unauthorized, "Authorization failed!")); } PastPrice pastPrice = mapper.Map <PastPrice>(pastPriceCreationDto); Product product = productRepository.GetProductById(pastPrice.ItemId); Service service = serviceRepository.GetServiceById(pastPrice.ItemId); if (product == null && service == null) { throw new DatabaseException("Item with that id does not exists!"); } pastPriceRepository.CreatePastPrice(pastPrice); pastPriceRepository.SaveChanges(); logger.Log(LogLevel.Information, contextAccessor.HttpContext.TraceIdentifier, "", "New past price created", null); var location = linkGenerator.GetPathByAction("GetPastPriceById", "PastPrice", new { ItemId = pastPrice.ItemId }); return(Created(location, pastPrice)); } catch (Exception ex) { logger.Log(LogLevel.Error, contextAccessor.HttpContext.TraceIdentifier, "", "Create error", null); return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
public ActionResult <PastPrice> CreatePastPrice([FromBody] PastPriceCreationDto pastPriceCreationDto, [FromHeader] string key) { try { //pristup metodi imaju samo autorizovani korisnici if (!auth.AuthorizeUser(key)) { return(StatusCode(StatusCodes.Status401Unauthorized, "Authorization failed!")); } PastPrice pastPrice = mapper.Map <PastPrice>(pastPriceCreationDto); Product product = productRepository.GetProductById(pastPrice.ItemForSaleId); Service service = serviceRepository.GetServiceById(pastPrice.ItemForSaleId); //prosla cena mora da se odnosi na neki proizvod ili uslugu koji vec postoje if (product == null && service == null) { throw new DbException("Item for sale with that id does not exists!"); } pastPriceRepository.CreatePastPrice(pastPrice); pastPriceRepository.SaveChanges(); logger.Log(LogLevel.Information, contextAccessor.HttpContext.TraceIdentifier, "", "New past price created", null); var location = linkGenerator.GetPathByAction("GetPastPriceById", "PastPrice", new { ItemForSaleId = pastPrice.ItemForSaleId }); return(Created(location, pastPrice)); } catch (Exception ex) { logger.Log(LogLevel.Error, contextAccessor.HttpContext.TraceIdentifier, "", "Create error", null); return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
//sacuvam staru cenu nakon promene public void UpdateService(Service oldService, Service newService) { oldService.Name = newService.Name; oldService.Description = newService.Description; oldService.AccountId = newService.AccountId; if (oldService.Price != newService.Price) { PastPrice pastPrice = new PastPrice(); pastPrice.Price = oldService.Price; pastPrice.ItemForSaleId = oldService.ItemForSaleId; oldService.Price = newService.Price; pastPriceRepository.CreatePastPrice(pastPrice); } }
//sacuvam staru cenu nakon promene public void UpdateProduct(Product oldProduct, Product newProduct) { oldProduct.Name = newProduct.Name; oldProduct.Description = newProduct.Description; oldProduct.AccountId = newProduct.AccountId; oldProduct.Weight = newProduct.Weight; if (oldProduct.Price != newProduct.Price) { PastPrice pastPrice = new PastPrice(); pastPrice.Price = oldProduct.Price; pastPrice.ItemForSaleId = oldProduct.ItemForSaleId; oldProduct.Price = newProduct.Price; pastPriceRepository.CreatePastPrice(pastPrice); } }