Example #1
0
    private static async Task <IResult> UserHistory(int userid, int?days, IBeanService beanService, IHoldingService holdingService)
    {
        if (userid <= 0)
        {
            return(Results.BadRequest(string.Format(Strings.Invalid, "user id")));
        }
        if (!days.HasValue)
        {
            days = int.MaxValue;
        }
        var ids = await beanService.BeanIdsAsync(userid);

        List <BeanHistoryModel> ret = new();

        foreach (var id in ids)
        {
            var history = await beanService.HistoryAsync(id, days.Value);

            if (history is not null)
            {
                history.Basis = await holdingService.GetCostBasisAsync(userid, id);

                history.Quantity = (await holdingService.SummaryAsync(userid, history.BeanId))?.Quantity ?? 0;
                ret.Add(history);
            }
        }
        return(Results.Ok(ret));
    }
Example #2
0
    private static async Task <IResult> BeanHistory(int beanid, int?days, IBeanService beanService)
    {
        if (!days.HasValue)
        {
            days = int.MaxValue;
        }
        var history = await beanService.HistoryAsync(beanid, days.Value);

        if (history is null)
        {
            return(Results.BadRequest(new ApiError(Strings.NoHistory)));
        }
        return(Results.Ok(history));
    }
Example #3
0
    private static async Task <IResult> AllBeanHistory(int?days, IBeanService beanService)
    {
        if (!days.HasValue)
        {
            days = int.MaxValue;
        }
        var ids = await beanService.BeanIdsAsync();

        List <BeanHistoryModel> ret = new();

        foreach (var id in ids)
        {
            var history = await beanService.HistoryAsync(id, days.Value);

            if (history is not null)
            {
                ret.Add(history);
            }
        }
        return(Results.Ok(ret));
    }
Example #4
0
 public InternalController(IOptions <AppSettings> settings, IMovementService movementService, IBeanService beanService)
 {
     _movementService = movementService;
     _beanService     = beanService;
     _settings        = settings.Value;
 }
 public BeanController(IBeanService beanService, IHostingEnvironment appEnvironment)
 {
     _beanService    = beanService;
     _appEnvironment = appEnvironment;
 }
Example #6
0
 public CoffeeService(IWaterService waterService,
                      IBeanService <Catimor> beanService)
 {
 }
Example #7
0
    private static async Task <IResult> ById(int beanid, IBeanService beanService)
    {
        var bean = await beanService.ReadAsync(beanid);

        return(bean is null?Results.BadRequest(new ApiError(string.Format(Strings.ItemNotFound, "bean", "id", beanid))) : Results.Ok(bean));
    }
Example #8
0
    private static async Task <IResult> ByName(string name, IBeanService beanService)
    {
        var bean = await beanService.ReadAsync(name);

        return(bean is null?Results.BadRequest(new ApiError(string.Format(Strings.ItemNotFound, "bean", "name", name))) : Results.Ok(bean));
    }
Example #9
0
 private static async Task <IResult> GetBeans(IBeanService beanService) => Results.Ok(await beanService.GetAsync());
Example #10
0
    private static async Task <IResult> BuyFromExchange(int userid, int beanid, long quantity, IBeanService beanService)
    {
        var result = await beanService.BuyFromExchangeAsync(userid, beanid, quantity);

        if (result.Successful)
        {
            return(Results.Ok());
        }
        return(Results.BadRequest(result.ErrorMessage()));
    }
Example #11
0
    private static async Task <IResult> SellToExchange(int holdingid, long quantity, IHoldingService holdingService, IBeanService beanService)
    {
        var result = await beanService.SellToExchangeAsync(holdingid, quantity);

        if (result.Successful)
        {
            return(Results.Ok());
        }
        return(Results.BadRequest(result.ErrorMessage()));
    }
Example #12
0
    public static async Task <IResult> HistoryByName(string beanname, int days, IMovementService movementService, IBeanService beanService)
    {
        if (string.IsNullOrWhiteSpace(beanname))
        {
            return(Results.BadRequest(new ApiError(string.Format(Strings.Invalid, "bean name"))));
        }
        var bean = await beanService.ReadAsync(beanname);

        if (bean is null)
        {
            return(Results.BadRequest(new ApiError(string.Format(Strings.ItemNotFound, "bean", "name", beanname))));
        }

        var                            date      = days == 0 ? default : DateTime.UtcNow.AddDays(-(days - 1));
                                   var movements = await movementService.HistoryAsync(bean.Id, date);

                                   return(Results.Ok(movements));
    }
Example #13
0
    public static async Task <IResult> Move([FromBody] string key, IMovementService movementService, IBeanService beanService, IOptions <AppSettings> settings)
    {
        List <string> messages = new();

        if (key != settings.Value.ApiKey)
        {
            return(Results.BadRequest(new ApiError(Strings.NotAuthorized)));
        }
        var beanids = await beanService.BeanIdsAsync();

        foreach (var beanid in beanids)
        {
            var result = await movementService.MoveAsync(beanid, settings.Value.MinimumValue, DateTime.UtcNow);

            if (!result.Successful)
            {
                messages.Add(result.ErrorMessage());
            }
        }
        if (messages.Any())
        {
            return(Results.BadRequest(new ApiError(messages.ToArray())));
        }
        return(Results.Ok());
    }