public async Task <Dal.Entities.WareHouse> UpdateWareHouse(Dal.Entities.WareHouse warehouse) { Guard.Argument(warehouse, nameof(warehouse)).NotNull(); await ValidateWareHouse(warehouse); var currentWareHouse = await GetWareHouseById(warehouse.Id); if (_unitOfWork.WareHouseRepository.GetAll().Any(w => w.Code.ToLower() == warehouse.Code.ToLower() && w.Id != warehouse.Id)) { throw new ServiceException(new ErrorMessage[] { new ErrorMessage() { Message = $"{warehouse.Code} is already exits" } }); } var mapper = ServiceMapper.GetMapper(); mapper.Map(warehouse, currentWareHouse); await _unitOfWork.SaveChanges(); return(currentWareHouse); }
private async Task ValidateWareHouse(Dal.Entities.WareHouse warehouse) { var warehouseValidator = new WareHouseValidator(); var validateResult = await warehouseValidator.ValidateAsync(warehouse); if (validateResult.IsValid) { return; } throw new ServiceException(validateResult.Errors.Select(e => new ErrorMessage() { Code = ErrorCodes.Model_Validation_Error_Code, Meta = new { e.ErrorCode, e.ErrorMessage, e.PropertyName }, Message = e.ErrorMessage }).ToArray()); }
public async Task <Dal.Entities.WareHouse> AddWareHouse(Dal.Entities.WareHouse warehouse) { Guard.Argument(warehouse, nameof(warehouse)).NotNull(); await ValidateWareHouse(warehouse); if (_unitOfWork.WareHouseRepository.GetAll().Any(w => w.Code.ToLower() == warehouse.Code.ToLower())) { throw new ServiceException(new ErrorMessage[] { new ErrorMessage() { Message = $"{warehouse.Code} is already exits" } }); } _unitOfWork.WareHouseRepository.Insert(warehouse); await _unitOfWork.SaveChanges(); return(warehouse); }
public bool IsActiveWareHouse(Dal.Entities.WareHouse wareHouse) { return(wareHouse.Active); }