Exemple #1
0
        public BaseResponse UpdatePurpose(UpdatePurposeRequest request)
        {
            return(GetResponse(() => {
                var response = new BaseResponse();
                try
                {
                    using (FamilyFinanceContext db = new FamilyFinanceContext())
                    {
                        var purpose = db.Purposes.Where(x => x.Id == request.PurposeId).FirstOrDefault();
                        var purse = db.Purses.Where(x => x.Id == request.PurseId).FirstOrDefault();
                        if (purse.Size <= request.NewSize)
                        {
                            response.BaseIsSuccess = false;
                            response.BaseMessage = "Недостатньо коштів";
                        }
                        if (purpose.CurrentSize + request.NewSize > purpose.FinalSize)
                        {
                            response.BaseIsSuccess = false;
                            response.BaseMessage = "Перевищення ліміту";
                        }
                        if (purpose != null && purse != null)
                        {
                            purse.Size -= request.NewSize;
                            purpose.CurrentSize += request.NewSize;

                            db.Purses.Update(purse);
                            db.Purposes.Update(purpose);
                            db.SaveChanges();
                        }
                        else
                        {
                            response.BaseIsSuccess = false;
                            response.BaseMessage = "Помилка додавання";
                        }
                    }
                }
                catch
                {
                    response.BaseIsSuccess = false;
                    response.BaseMessage = Shared.Constants.BAD_REQUEST;
                }

                return response;
            }));
        }
Exemple #2
0
 public async Task <BaseResponse> UpdatePurposeAsync(UpdatePurposeRequest request) =>
 await TryCallApiAsync <BaseResponse>("purposes/update_purpose", request);
Exemple #3
0
 public BaseResponse UpdatePurpose([FromBody] UpdatePurposeRequest request) =>
 _purposeService.UpdatePurpose(request);