This commit is contained in:
2023-06-17 14:25:51 +03:00
parent 7ae5d3bc81
commit 5e0965cfd1
4 changed files with 25 additions and 9 deletions
+1 -1
View File
@@ -308,7 +308,7 @@
if (!_accountMotionRepository.Add(accountMotionDb)) if (!_accountMotionRepository.Add(accountMotionDb))
{ {
return result.Set(GeneralExecStatus.failure); return result.Set(AccountMotionAddResult.failure);
} }
@@ -4,7 +4,7 @@
{ {
public DateTime Date { get; set; } public DateTime Date { get; set; }
public string Motion { get; set; } = null!; public string Motion { get; set; } = null!;
public string Description { get; set; } = null!; public string? Description { get; set; };
public decimal Plus { get; set; } public decimal Plus { get; set; }
public decimal Minus { get; set; } public decimal Minus { get; set; }
} }
+14 -2
View File
@@ -4,8 +4,10 @@ using Core.Extensions;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Models.Account; using Models.Account;
using MyOffice.Data.Models.Accounts;
using MyOffice.Web.Models.AccountMotion; using MyOffice.Web.Models.AccountMotion;
using Services.Account; using Services.Account;
using Services.Account.Domain;
[Authorize] [Authorize]
[ApiController] [ApiController]
@@ -43,8 +45,18 @@ public class AccountController : BaseApiController
[HttpPost("~/api/accounts/{id}/motions")] [HttpPost("~/api/accounts/{id}/motions")]
public object AccountsMotionsPost(string id, AccountMotionRequest accountMotion) public object AccountsMotionsPost(string id, AccountMotionRequest accountMotion)
{ {
var list = _accountService.GetByCategoryDetailed(UserId, category!.AsGuid()); var exec = _accountService.AccountMotionAdd(UserId, id.AsGuid(), accountMotion.FromModel());
switch (exec.Status)
{
case AccountMotionAddResult.account_not_found:
return ProblemBadRequest("Account failed.");
case AccountMotionAddResult.failure:
return ProblemBadRequest("Adding motion failed.");
case AccountMotionAddResult.success:
return exec.Result!;
return list.Select(x => x.ToModel()); default:
throw new NotSupportedException(exec.Status.ToString());
}
} }
} }
@@ -1,6 +1,7 @@
namespace MyOffice.Web.Models.AccountMotion; namespace MyOffice.Web.Models.AccountMotion;
using Data.Models.Accounts; using Data.Models.Accounts;
using Services.Account.Domain;
public class AccountMotionViewModel public class AccountMotionViewModel
{ {
@@ -27,13 +28,16 @@ public static class AccountMotionViewModelExtension
public static class AccountMotionRequestExtension public static class AccountMotionRequestExtension
{ {
public static AccountMotion FromModel(this AccountMotionRequest input) public static AccountMotionAdd FromModel(this AccountMotionRequest input)
{ {
/*return new AccountMotion return new AccountMotionAdd
{ {
CreatedOn = input.Date, Date = input.Date,
mo Motion = input.Motion,
};*/ Minus = input.Minus,
Plus = input.Plus,
Description = input.Description,
};
} }
} }