예제 #1
0
        public async Task <IActionResult> OnPostCheckEquipmentAsync(string c1, string c2, string c3, string c4)
        {
            var code = string.Format("{0}{1}{2}{3}", c1, c2, c3, c4);

            IdentifyCostumer();
            if (!IsAuthorized())
            {
                return(JsonHelper.JsonResponse(Strings.StatusError, Constants.HttpClientErrorCode, "Not Authorized"));
            }
            if (string.IsNullOrEmpty(code))
            {
                return(JsonHelper.JsonResponse(Strings.StatusError, Constants.InvalidCode, "Wrong code"));
            }
            var holder = await _appRepository.Holders.FirstOrDefaultAsync(x => x.LocalCode == code);

            if (holder == null)
            {
                return(JsonHelper.JsonResponse(Strings.StatusError, Constants.NoSuchHolder, "No such Holder"));
            }

            var result = await _holderService.CanProvidePowerBank(holder.Id);

            if (!result)
            {
                return(JsonHelper.JsonResponse(Strings.StatusError, Constants.NoAvailablePowebank, "Couldn't provide powerbank"));
            }

            //return Redirect($"/Take/SelectTariff/{holder.Id}");

            return(JsonHelper.JsonResponse(Strings.StatusOK, 4, holder.Id.ToString()));
        }