public async Task <IActionResult> getFreeDeliveries([FromQuery] UserParams userParams, int idRecolector)
        {
            var delivery = await repository.getInProgressDeliveriesByUserID(idRecolector);

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (delivery != null)
            {
                returnCode.code = 200;
                returnCode.data = delivery;
                return(Ok(returnCode));
            }

            var deliveries = await repository.getFreeDeliveries(userParams);

            if (deliveries != null)
            {
                Response.addPagination(deliveries.CurrentPage, deliveries.PageSize, deliveries.TotalCount, deliveries.TotalPages);
                returnCode.code = 200;
                returnCode.data = deliveries;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "deliveries not found";
                return(Ok(returnCode));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> register(UserForRegisterDto userForRegister)
        {
            userForRegister.username = userForRegister.username.ToLower();

            var userToCreate = new BasurappUser
            {
                userName = userForRegister.username,
                realName = userForRegister.realName,
                lastName = userForRegister.lastName,
                phone    = userForRegister.phone,
                role     = userForRegister.role
            };

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (await privateRepository.userExists(userForRegister.username))
            {
                returnCode.code = 404;
                returnCode.data = "the user already exists";
                return(Ok(returnCode));
            }
            else
            {
                var createdUser = await privateRepository.registerUser(userToCreate, userForRegister.password);

                returnCode.code = 200;
                returnCode.data = createdUser;
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> registerDelivery(RegisterDeliveryDto registerDeliveryDto)
        {
            Delivery deliveryFromDto = new Delivery();

            deliveryFromDto.title                   = registerDeliveryDto.title;
            deliveryFromDto.description             = registerDeliveryDto.description;
            deliveryFromDto.basurappUserContributor = await repository.getBasurappUserById(registerDeliveryDto.idBasurappUserContributor);

            deliveryFromDto.date          = registerDeliveryDto.date;
            deliveryFromDto.latitude      = registerDeliveryDto.latitude;
            deliveryFromDto.altitude      = registerDeliveryDto.altitude;
            deliveryFromDto.deliveryState = 0;

            var delivery = await repository.registerDelivery(deliveryFromDto);

            await repository.saveAll();

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (repository.saveAll() != null)
            {
                returnCode.code = 200;
                returnCode.data = delivery;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "request not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> updateDelivery(int idDelivery, [FromBody] Delivery deliveryForUpdate)
        {
            var deliveryFromDb = await repository.getDeliveryById(idDelivery);

            deliveryFromDb.altitude      = deliveryForUpdate.altitude;
            deliveryFromDb.latitude      = deliveryForUpdate.latitude;
            deliveryFromDb.title         = deliveryForUpdate.title;
            deliveryFromDb.description   = deliveryForUpdate.description;
            deliveryFromDb.date          = deliveryForUpdate.date;
            deliveryFromDb.deliveryState = deliveryForUpdate.deliveryState;

            await repository.saveAll();

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (deliveryFromDb != null)
            {
                returnCode.code = 200;
                returnCode.data = deliveryForUpdate;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "delivery not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> getDay([FromQuery] UserParams userParams)
        {
            ReturnCodeDto returnCode = new ReturnCodeDto();

            returnCode.code = 200;
            returnCode.data = DateTime.Now.DayOfYear;
            return(Ok(DateTime.Now.DayOfYear));
        }
        public async Task <IActionResult> getDeliveriesByRecolectorId([FromQuery] UserParams userParams, int idRecolector)
        {
            var request = await repository.getDeliveriesByRecolectorId(userParams, idRecolector);

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (request != null)
            {
                returnCode.code = 200;
                returnCode.data = request;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "Delivery with specified recolector not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> getDeliveryById(int idDelivery)
        {
            var request = await repository.getDeliveryById(idDelivery);

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (request != null)
            {
                returnCode.code = 200;
                returnCode.data = request;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "request not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> getFreeDeliveries([FromQuery] UserParams userParams)
        {
            var deliveries = await repository.getFreeDeliveries(userParams);

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (deliveries != null)
            {
                returnCode.code = 200;
                returnCode.data = deliveries;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "deliveries not found";
                return(Ok(returnCode));
            }
        }
Beispiel #9
0
        public async Task <ActionResult> login(UserForLoginDto userForLoginDto)
        {
            var userFromRepo = await privateRepository.login(userForLoginDto.username.ToLower(), userForLoginDto.password);


            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (userFromRepo != null)
            {
                returnCode.code = 200;
                returnCode.data = userFromRepo;
                return(Ok(userFromRepo));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "wrong user or password";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> getProducts([FromQuery] UserParams userParams)
        {
            var products = await repository.getProducts(userParams);

            Response.addPagination(products.CurrentPage, products.PageSize, products.TotalCount, products.TotalPages);

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (products != null)
            {
                returnCode.code = 200;
                returnCode.data = products;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "products not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> cancelDelivery(int idDelivery)
        {
            var deliveryFromDb = await repository.getDeliveryById(idDelivery);

            deliveryFromDb.deliveryState = 3;
            await repository.saveAll();

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (deliveryFromDb != null)
            {
                returnCode.code = 200;
                returnCode.data = deliveryFromDb;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "delivery not found";
                return(Ok(returnCode));
            }
        }
        public async Task <IActionResult> confirmDelivery(int idDelivery, int idRecolector)
        {
            var deliveryFromDb = await repository.getDeliveryById(idDelivery);

            deliveryFromDb.basurappUserRecolector = await repository.getBasurappUserById(idRecolector);

            deliveryFromDb.deliveryState = 1;
            await repository.saveAll();

            ReturnCodeDto returnCode = new ReturnCodeDto();

            if (deliveryFromDb.basurappUserRecolector != null)
            {
                returnCode.code = 200;
                returnCode.data = deliveryFromDb;
                return(Ok(returnCode));
            }
            else
            {
                returnCode.code = 404;
                returnCode.data = "delivery not found";
                return(Ok(returnCode));
            }
        }