Esempio n. 1
0
        public async Task <IActionResult> ApproveEntry(string entryId, ChangeEntryStateDto changeEntryStateDto)
        {
            var entyFromRepo = await _db.EntryRepository.GetByIdAsync(entryId);

            if (entyFromRepo != null)
            {
                if (!entyFromRepo.IsPardakht && !entyFromRepo.IsReject)
                {
                    entyFromRepo.IsApprove = changeEntryStateDto.IsApprove;
                    if (await _db.SaveAsync())
                    {
                        return(NoContent());
                    }
                    else
                    {
                        return(BadRequest("خطا در تغییر تاییدی امکان واریز"));
                    }
                }
                else
                {
                    return(BadRequest("امکان تایید واریزی برای واریزی های رد شده یا پرداخت شده وجود ندارد"));
                }
            }
            else
            {
                return(BadRequest("واریزی با این شناسه یافت نشد"));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> RejectEntry(string entryId, ChangeEntryStateDto changeEntryStateDto)
        {
            var entyFromRepo = await _db.EntryRepository.GetByIdAsync(entryId);

            if (entyFromRepo != null)
            {
                if (!entyFromRepo.IsPardakht)
                {
                    //کاهش پول خروجی
                    if (changeEntryStateDto.IsReject)
                    {
                        if (entyFromRepo.IsReject)
                        {
                            return(NoContent());
                        }
                        else
                        {
                            var decreaseOnExitMoneyResult = await _walletService
                                                            .EntryDecreaseOnExitMoneyAsync(entyFromRepo.Price, entyFromRepo.WalletId);

                            if (!decreaseOnExitMoneyResult.status)
                            {
                                return(BadRequest("خطا در تغیر پول خروجی کیف پول "));
                            }
                        }
                    }
                    //افزایش پول خروجی
                    else
                    {
                        if (!entyFromRepo.IsReject)
                        {
                            return(NoContent());
                        }
                        else
                        {
                            var decreaseOnExitMoneyResult = await _walletService
                                                            .EntryIncreaseOnExitMoneyAsync(entyFromRepo.Price, entyFromRepo.WalletId);

                            if (!decreaseOnExitMoneyResult.status)
                            {
                                return(BadRequest("خطا در تغیر پول خروجی کیف پول "));
                            }
                        }
                    }
                    entyFromRepo.IsReject = changeEntryStateDto.IsReject;
                    if (await _db.SaveAsync())
                    {
                        return(NoContent());
                    }
                    else
                    {
                        return(BadRequest("خطا در تغییر رد درخواست واریز"));
                    }
                }
                else
                {
                    return(BadRequest("امکان رد واریزی برای واریزی های پرداخت شده اند وجود ندارد"));
                }
            }
            else
            {
                return(BadRequest("واریزی با این شناسه یافت نشد"));
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> PardakhtEntry(string entryId, ChangeEntryStateDto changeEntryStateDto)
        {
            var entyFromRepo = await _db.EntryRepository.GetByIdAsync(entryId);

            if (entyFromRepo != null)
            {
                if (entyFromRepo.IsApprove && !entyFromRepo.IsReject)
                {
                    //کاهش موجودی
                    if (changeEntryStateDto.IsPardakht)
                    {
                        if (entyFromRepo.IsPardakht)
                        {
                            return(NoContent());
                        }
                        else
                        {
                            var decreaseInventoryResult = await _walletService
                                                          .EntryDecreaseInventoryAsync(entyFromRepo.Price, entyFromRepo.WalletId);

                            if (!decreaseInventoryResult.status)
                            {
                                return(BadRequest("خطا در تغغیر موجودی کیف پول احتمالا کیف ول موجود یندارد"));
                            }
                        }
                    }
                    //افزایش موجودی
                    else
                    {
                        if (!entyFromRepo.IsPardakht)
                        {
                            return(NoContent());
                        }
                        else
                        {
                            var decreaseInventoryResult = await _walletService
                                                          .EntryIncreaseInventoryAsync(entyFromRepo.Price, entyFromRepo.WalletId);

                            if (!decreaseInventoryResult.status)
                            {
                                return(BadRequest("خطا در تغغیر موجودی کیف پول احتمالا کیف ول موجود یندارد"));
                            }
                        }
                    }
                    entyFromRepo.IsPardakht = changeEntryStateDto.IsPardakht;
                    if (await _db.SaveAsync())
                    {
                        return(NoContent());
                    }
                    else
                    {
                        return(BadRequest("خطا در تغییر تاییدی پرداخت واریز"));
                    }
                }
                else
                {
                    return(BadRequest("امکان پرداخت واریزی برای واریزی های رد شده یا تایید نشده وجود ندارد"));
                }
            }
            else
            {
                return(BadRequest("واریزی با این شناسه یافت نشد"));
            }
        }