Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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>("حصل خطأ ما ")
                {
                });
            }
        }