public async Task <ActionResult <TreasuryDto> > CreateTreasury(CreateTreasuryDto dto) { var response = await _treasuryService.Create(dto); if (response.Sucess) { return(Ok(response.Data)); } return(Conflict(response.Errors)); }
public async Task <ErrorRepsonse <TreasuryDto> > Create(CreateTreasuryDto createTreasuryDto) { if (await _uintOfWork.Repository <Treasury>().Any(c => c.Id == createTreasuryDto.UserId)) { return(new ErrorRepsonse <TreasuryDto>("يوجد صندوق لهذا المتسخدم ")); } var treaury = _mapper.Map <Treasury>(createTreasuryDto); await _uintOfWork.BegeinTransaction(); try { await _uintOfWork.Add(treaury); if (createTreasuryDto.Amount != 0) { var cashMovment = _mapper.Map <CashMovment>(createTreasuryDto); cashMovment.CreatedBy = _userService.AuthoticateUserName(); var history = _mapper.Map <TreasuryHistory>(cashMovment); cashMovment.TreasuryHistories.Add(history); await _uintOfWork.Add(cashMovment); history.CashMovment = cashMovment; treaury.TreasuryHistories.Add(history); } await _uintOfWork.Commit(); var dto = _mapper.Map <TreasuryDto>(treaury); dto.History = new PagingResualt <IEnumerable <TreasuryHistoryDto> >() { Total = treaury.TreasuryHistories.Count, Data = _mapper.Map <TreasuryHistoryDto[]>(treaury.TreasuryHistories) }; return(new ErrorRepsonse <TreasuryDto>(dto)); } catch (Exception ex) { await _uintOfWork.RoleBack(); return(new ErrorRepsonse <TreasuryDto>("حصل خطأ ما ") { }); } }