Ejemplo n.º 1
0
        public async Task <IHttpActionResult> PostConsumption(ConsumptionModel model)
        {
            //1. Authorize Request
            if (!IsAuthorized())
            {
                //_logger.Warn($"{ nameof(this.)} Unauthorised user");
                return(Unauthorized());
            }

            //2. Create consumption Model
            var consumption = new Consumption
            {
                Email     = model.Email,
                StartDate = model.StartDate,
                EndDate   = model.EndDate,
                Type      = "dag"
            };

            //3. Post Consumption
            var result = await DataAnalyticsApiManager.PostConsumption(consumption);


            _logger.Info($"{ nameof(this.PostConsumption)} Consumption Post Success");

            return(Ok(result));
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> Register(RegisterModel model)
        {
            _logger.Info($"{ nameof(this.Register)} Register User Invoked");

            try
            {
                //1. Authorize Request
                if (!IsAuthorized())
                {
                    _logger.Warn($"{ nameof(this.Register)} Unauthorised user");
                    return(Unauthorized());
                }

                _logger.Info($"{ nameof(this.Register)} Getting Payload : {GetContent()}");

                //2. Model Validation
                if (!AccountManager.ValidRegisterModel(model) || !ModelState.IsValid)
                {
                    _logger.Warn($"{ nameof(this.Register)} Invalid Model");
                    return(BadRequest());
                }

                //3. Create User Model
                var user = new User
                {
                    UserId       = AccountManager.GenerateUniqueId(),
                    Email        = model.Email,
                    MobileNumber = model.MobileNumber
                };

                //4. Register User to Database
                var result = await DataAnalyticsApiManager.RegisterUser(user);

                //5. Register User to BlockChain
                var bchResponse = await SmartContractManager.RegisterUser(model);

                _logger.Info($"{ nameof(this.Register)} Smart Contract Response : {bchResponse}");


                _logger.Info($"{ nameof(this.Register)} User Registered");

                return(Ok(result));
            }
            catch (Exception ex)
            {
                _logger.Info($"{ nameof(this.Register)} Error : {ex}");
                return(InternalServerError());
            }
        }
Ejemplo n.º 3
0
 public AccountController()
 {
     AccountManager          = new AccountManager();
     DataAnalyticsApiManager = new DataAnalyticsApiManager();
     SmartContractManager    = new SmartContractManager();
 }
Ejemplo n.º 4
0
 public ConsumptionController()
 {
     DataAnalyticsApiManager = new DataAnalyticsApiManager();
     SmartContractManager    = new SmartContractManager();
 }