Пример #1
0
        public ActionResult <EditCustomer> EditCustomer(EditCustomer model)
        {
            try
            {
                IMapper mapper    = EDeliveryProfile.EditCustomer();
                var     newResult = mapper.Map <Customer>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                newResult.MemberId = memberId;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var customerId = dBContext.Customer.First(o => o.MemberId == memberId).CustomerId;
                newResult.CustomerId = customerId;

                var locationId = dBContext.Location.First(o => o.CustomerId == customerId).LocationId;
                locationId = newResult.Location.Select(o => o.LocationId).FirstOrDefault();

                _repository.EditCustomer(newResult);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly edited customer" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to edit the customer:{ex}");
            }
            return(BadRequest("Failed to edit the customer."));
        }
Пример #2
0
        public ActionResult <FoodDTO> CreateFood(FoodDTO model)
        {
            try
            {
                var foodCategory = _repository.GetFoodCategoryByID(model.FoodTypeID);
                if (foodCategory == null)
                {
                    return(BadRequest("Food Category could not be find"));
                }

                IMapper mapper  = EDeliveryProfile.CreateFood();
                var     newFood = mapper.Map <Food>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();

                var restaurantId = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                newFood.RestaurantId = restaurantId;

                _repository.CreateFood(newFood);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Created food" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create new food:{ex}");
                return(BadRequest("Failed to create new food"));
            }
        }
Пример #3
0
        public ActionResult <EditFood> EditFoodCategory(EditFood model)
        {
            try
            {
                IMapper mapper     = EDeliveryProfile.EditFood();
                var     editedFood = mapper.Map <Food>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out int id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var restaurantId             = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                editedFood.RestaurantId = restaurantId;

                var categoryId = dBContext.Food.First(o => o.FoodId == model.FoodId).CategoryId;
                editedFood.CategoryId = categoryId;

                _repository.EditFood(editedFood);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly edited food" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to edit the food:{ex}");
            }
            return(BadRequest("Failed to edit the food"));
        }
Пример #4
0
        public ActionResult <PostWorkingHours> PostWorkingHours(PostWorkingHours model)
        {
            try
            {
                IMapper mapper          = EDeliveryProfile.PostWorkingHours();
                var     newWorkingHours = mapper.Map <WorkingHours>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var restaurantId             = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;

                newWorkingHours.RestaurantId = restaurantId;

                _repository.PostWorkingHours(newWorkingHours);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly created working hours" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create new working hours: {ex}");
                return(BadRequest("Failed to create new working hours"));
            }
        }
Пример #5
0
        public ActionResult <DeleteDriver> DeleteDriver([FromBody] DeleteDriver model)
        {
            try
            {
                IMapper mapper    = EDeliveryProfile.DeleteDriver();
                var     oldDriver = mapper.Map <Driver>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var deliveryCompanyId        = dBContext.DeliveryCompany.First(o => o.MemberId == memberId).DeliveryCompanyId;
                oldDriver.DeliveryCompanyId = deliveryCompanyId;

                _repository.DeleteDriver(oldDriver);
                return(Ok()
                       );
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to delete the driver{ex}");
            }

            return(BadRequest());
        }
Пример #6
0
        public ActionResult <EditRestaurant> EditRestaurant(EditRestaurant model)
        {
            try
            {
                IMapper mapper    = EDeliveryProfile.EditRestaurant();
                var     newResult = mapper.Map <Restaurant>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;
                newResult.MemberId = memberId;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var restaurantId             = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                newResult.RestaurantId = restaurantId;

                var restaurantTypeId = dBContext.Restaurant.First(o => o.RestaurantId == restaurantId).TypeId;
                newResult.TypeId = restaurantTypeId;

                var cuistineTypeId = dBContext.Restaurant.First(o => o.RestaurantId == restaurantId).CuisineTypeId;
                newResult.CuisineTypeId = cuistineTypeId;

                _repository.EditRestaurant(newResult);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly edited the restaurant" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to edit the restaurant: {ex}");
            }
            return(BadRequest("Failed to edit the restaurant"));
        }
Пример #7
0
        public ActionResult <EditDriver> EditDriver(EditDriver model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.EditDriver();
                var     result = mapper.Map <Driver>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var deliveryCompanyId        = dBContext.DeliveryCompany.First(o => o.MemberId == memberId).DeliveryCompanyId;
                result.DeliveryCompanyId = deliveryCompanyId;

                _repository.EditDriver(result);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly edited driver" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to edit the driver{ex}");
            }

            return(BadRequest("Failed to edit the driver"));
        }
Пример #8
0
 public OrderController(IEDeliveryRepository repository, ILogger <OrderController> logger,
                        IMapper mapper,
                        EDeliveryDBContext dBContext)
 {
     _repository = repository;
     _logger     = logger;
     _mapper     = mapper;
 }
Пример #9
0
        public ActionResult <DeleteLocaiton> DeleteLocation([FromBody] DeleteLocaiton model)
        {
            try
            {
                IMapper mapper           = EDeliveryProfile.DeleteLocation();
                var     existingLocation = mapper.Map <Location>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out int id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();

                var memberType = dBContext.Member.First(o => o.MemberId == memberId).MemberType;

                if (memberType.Equals(9))
                {
                    var restaurantId = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                    existingLocation.RestaurantId = restaurantId;
                }
                else if (memberType.Equals(8))

                {
                    var customerId = dBContext.Customer.First(o => o.MemberId == memberId).CustomerId;
                    existingLocation.CustomerId = customerId;
                }
                else
                {
                    return(BadRequest());
                }

                _repository.DeleteLocation(existingLocation);
                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to delete the location:{ex}");
            }

            return(BadRequest());
        }
Пример #10
0
        public ActionResult <LocationDTO> CreateLocaation(LocationDTO model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.CreateLocation();
                var     result = mapper.Map <Location>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var memberType = dBContext.Member.First(o => o.MemberId == memberId).MemberType;

                if (memberType.Equals(9))
                {
                    var restaurantId = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                    result.RestaurantId = restaurantId;
                }
                else if (memberType.Equals(8))

                {
                    var customerId = dBContext.Customer.First(o => o.MemberId == memberId).CustomerId;
                    result.CustomerId = customerId;
                }
                else
                {
                    return(BadRequest());
                }

                _repository.CreateLocation(result);

                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Created new location" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create new location:{ex}");
                return(BadRequest("Failed to create new location"));
            }
        }
Пример #11
0
        public ActionResult <DeleteWorkingHours> DeleteWorkingHours(DeleteWorkingHours model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.DeleteWorkingHours();
                var     existingWorkingHours = mapper.Map <WorkingHours>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var restaurantId             = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                existingWorkingHours.RestaurantId = restaurantId;

                _repository.DeleteWorkingHours(existingWorkingHours);
                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to delete working hours:{ex}");
                return(BadRequest());
            }
        }
Пример #12
0
        public ActionResult <EditWorkingHours> EditWorkingHours(EditWorkingHours model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.EditWorkingHours();
                var     result = mapper.Map <WorkingHours>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();
                var restaurantId             = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                result.RestaurantId = restaurantId;

                _repository.EditWorkingHours(result);
                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly edited the working hours!!" }));
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Failed to edit working hours:{ex}");
                return(BadRequest("Failed to edit working hours"));
            }
        }
Пример #13
0
        public ActionResult <DeleteFood> DeleteFood([FromBody] DeleteFood model)
        {
            try
            {
                IMapper mapper       = EDeliveryProfile.DeleteFood();
                var     existingFood = mapper.Map <Food>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out int id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();

                var restaurantId = dBContext.Restaurant.First(o => o.MemberId == memberId).RestaurantId;
                existingFood.RestaurantId = restaurantId;

                _repository.DeleteFood(existingFood);
                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to delete the food{ex}");
            }
            return(BadRequest());
        }
Пример #14
0
        public ActionResult <CreateOrder> CreateOrder([FromBody] CreateOrder model)
        {
            try
            {
                IMapper mapper   = EDeliveryProfile.CreateOrder();
                var     newOrder = mapper.Map <FoodOrder>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var userId      = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();

                var userID = dBContext.Customer.First(o => o.MemberId == userId).CustomerId;

                newOrder.CustomerId = userID;
                _repository.CreateOrder(newOrder);
                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Succesfuly created new order" }));
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Failed to create new order:{ex}");
                return(BadRequest("Failed to create new order"));
            }
        }
Пример #15
0
        public ActionResult <CreateDriver> CreateDriver([FromBody] CreateDriver model)
        {
            try
            {
                IMapper mapper = EDeliveryProfile.CreateDriver();
                var     driver = mapper.Map <Driver>(model);

                var userIdClaim = User.FindFirst("MemberId")?.Value;
                var memberId    = int.TryParse(userIdClaim, out var id) ? id : 0;

                EDeliveryDBContext dBContext = new EDeliveryDBContext();

                var deliveryCompanyId = dBContext.DeliveryCompany.First(o => o.MemberId == memberId).DeliveryCompanyId;
                driver.DeliveryCompanyId = deliveryCompanyId;

                _repository.CreateDriver(driver);
                return(new ObjectResult(new { message = "success", statusCode = HttpStatusCode.OK, response = "Created driver" }));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create new Driver:{ex}");
                return(BadRequest("Failed to create new Driver"));
            }
        }
Пример #16
0
 public EDeliveryRepository(EDeliveryDBContext dbContext, ILogger <EDeliveryRepository> logger)
 {
     _dbContext = dbContext;
     _logger    = logger;
 }