Exemplo n.º 1
0
        public async Task <ActionResult <IEnumerable <MapMarker> > > GetMarkers(IsoDay?day)
        {
            IEnumerable <EstablishmentModel> establishments;

            try
            {
                if (User.Identity.IsAuthenticated)
                {
                    day ??= DateTime.Now.DayOfWeek.ToIsoDay();
                    establishments = await _establishmentService.GetAllOpenOn((IsoDay)day);
                }
                else
                {
                    if (day != null)
                    {
                        return(Unauthorized());
                    }

                    establishments = await _establishmentService.GetAll();
                }
            }
            catch (Exception) // TODO: Better exception handling
            {
                establishments = new List <EstablishmentModel>();
            }

            var markers = await _geocodingService.GetMarkers(establishments);

            return(Ok(markers));
        }
Exemplo n.º 2
0
        public async Task <ActionResult <IEnumerable <EstablishmentDto> > > GetAll([CustomizeValidator(Skip = true)][FromQuery] EstablishmentParameters establishmentParameters,
                                                                                   [FromQuery(Name = "Includes")] List <string> includes,
                                                                                   [FromServices] EstablishmentParametersValidator validator)
        {
            if (establishmentParameters is null)
            {
                throw new ArgumentNullException(nameof(establishmentParameters));
            }

            if (validator is null)
            {
                throw new ArgumentNullException(nameof(validator));
            }

            // Add requested Includes to EstablishmentParameters before validation
            establishmentParameters.Includes = includes;

            // Perform manual validation now that EstablishmentParameters is complete
            var validationResult = validator.Validate(establishmentParameters);

            validationResult.AddToModelState(ModelState, null);

            if (!ModelState.IsValid)
            {
                return(ValidationProblem(ModelState));
            }

            var establishments = await _establishmentService.GetAll(establishmentParameters);

            return(Ok(establishments));
        }
        public async Task <ActionResult <List <Statement> > > Get()
        {
            List <Statement> statements;

            try {
                logger.LogInformation("Trying to get associated releases from database");
                List <Release> releases = await releasesService.GetAll();

                if (releases.Count == 0)
                {
                    string errorMessage = responseMessages.NotFound.Replace("$", "Lançamento");
                    logger.LogInformation("Error: " + errorMessage);
                    return(httpResponseHelper.ErrorResponse(errorMessage, 404));
                }

                var establishments = await establishmentService.GetAll();

                foreach (var release in releases)
                {
                    release.EstablishmentName = establishments.Find(e => e.Name == release.EstablishmentName).Type;
                }
                ;

                statements = releases.GroupBy(r => new { r.Date, r.EstablishmentName, r.PaymentMethod }).Select(x => {
                    var statement           = new Statement();
                    var curr                = x.First();
                    statement.Date          = curr.Date;
                    statement.PaymentMethod = curr.PaymentMethod;
                    statement.Type          = curr.EstablishmentName;
                    statement.TotalAmount   = x.Sum(xa => xa.Amount);
                    return(statement);
                }).ToList();
            }
            catch (Exception ex) {
                logger.LogInformation("Exception: " + ex.Message);
                logger.LogTrace(ex.StackTrace);
                throw;
            }

            logger.LogInformation("Action GET for /api/statements returns 200");
            return(Ok(statements));
        }
Exemplo n.º 4
0
        public async Task <ActionResult <List <Establishment> > > Get()
        {
            List <Establishment> establishments;

            try {
                logger.LogInformation("Trying to get establishments from database");
                establishments = await establishmentService.GetAll();

                if (establishments.Count == 0)
                {
                    string errorMessage = responseMessages.NotFound.Replace("$", "Estabelecimento");
                    logger.LogInformation("Error: " + errorMessage);
                    return(httpResponseHelper.ErrorResponse(errorMessage, 404));
                }
            }
            catch (Exception ex) {
                logger.LogInformation($"Message: {ex.Message}");
                logger.LogTrace($"Stack Trace: {ex.StackTrace}");
                throw;
            }

            logger.LogInformation("Action GET for /api/establishments returns 200");
            return(Ok(establishments));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Index()
        {
            var establishments = await _establishmentService.GetAll();

            return(View(establishments));
        }