public async Task Update(Accessories inputModel) { try { var data = await Find_By_Id(inputModel.Id); if (inputModel.Price != data.Price) { var price = (await _unitOfWork.AccessoryPriceHistoryRepository.FindBy(c => c.AccessoriesId == inputModel.Id)).ToList(); if (price.Count() > 1) //neu ko phai la lan update dau tien { var lastTimeprice = price.OrderByDescending(c => c.ToDate).FirstOrDefault(); lastTimeprice.ToDate = DateTime.Now; await _unitOfWork.AccessoryPriceHistoryRepository.Update(lastTimeprice); var hisPrice = new AccessoryPriceHistory(); hisPrice.AccessoriesId = inputModel.Id; hisPrice.Price = inputModel.Price; hisPrice.FromDate = DateTime.Now; await _unitOfWork.AccessoryPriceHistoryRepository.Add(hisPrice); } else { var lastTimeprice = price.FirstOrDefault(); lastTimeprice.ToDate = DateTime.Now; await _unitOfWork.AccessoryPriceHistoryRepository.Update(lastTimeprice); var hisPrice = new AccessoryPriceHistory(); hisPrice.AccessoriesId = inputModel.Id; hisPrice.Price = inputModel.Price; hisPrice.FromDate = DateTime.Now; await _unitOfWork.AccessoryPriceHistoryRepository.Add(hisPrice); } } await _unitOfWork.AccessoriesRepository.Update(inputModel); await _unitOfWork.SaveChange(); } catch (Exception ex) { throw ex; } }
public async Task Create(Accessories inputModel) { try { await _unitOfWork.AccessoriesRepository.Add(inputModel); var hisPrice = new AccessoryPriceHistory(); hisPrice.AccessoriesId = inputModel.Id; hisPrice.Price = inputModel.Price; hisPrice.FromDate = DateTime.Now; await _unitOfWork.AccessoryPriceHistoryRepository.Add(hisPrice); await _unitOfWork.SaveChange(); } catch (Exception ex) { throw ex; } }