public IActionResult AddUser(UserModel userModel)
        {
            try
            {
                if (userModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                byte[]   bytes      = Convert.FromBase64String(userModel.userImage);
                string[] extensions = userModel.userPicture.Split('.');
                string   extension  = extensions[extensions.Length - 1];
                string   fileName   = Guid.NewGuid().ToString();
                string   filePath   = environment.WebRootPath + "/assets/images/users/" + fileName + "." + extension;
                using (FileStream binaryFileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
                {
                    binaryFileStream.Write(bytes, 0, bytes.Length);
                    userModel.userPicture = fileName + "." + extension;
                }
                userModel.userImage = string.Empty;
                UserModel addedUser = usersRepository.AddUser(userModel);
                return(StatusCode(StatusCodes.Status201Created, addedUser));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult GetSumPrice(OrderPriceModel carForPrice)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                OrderPriceModel carSumPrice = priceRepository.priceForOrderIfAvaliable(carForPrice);
                return(StatusCode(StatusCodes.Status201Created, carSumPrice));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);

                if (ex is DateNotAvaliableException)
                {
                    return(StatusCode(StatusCodes.Status403Forbidden, errors));
                }

                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
        public IActionResult UpdateBranch(int id, BranchModel branchModel)
        {
            try
            {
                if (branchModel == null)
                {
                    return(BadRequest("Data is null."));
                }

                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                branchModel.branchID = id;
                BranchModel updatedBranch = branchRepository.UpdateBranch(branchModel);
                return(Ok(updatedBranch));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult ReturnUserByNamePassword(LoginModel loginModel)
        {
            try
            {
                if (loginModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                LoginModel checkUser = usersRepository.ReturnUserByNamePassword(loginModel);
                if (checkUser == null)
                {
                    Errors errors = ErrorsHelper.GetErrors("Wrong username or password");
                    return(StatusCode(StatusCodes.Status401Unauthorized, errors));
                }
                return(StatusCode(StatusCodes.Status201Created, checkUser));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult UploadCarImage(string number, string carPic = "")
        {
            try
            {
                CarModel updloadedCar;
                string   fileName;

                if (carPic.Equals(""))
                {
                    fileName = Guid.NewGuid() + ".png";
                }
                else
                {
                    fileName = carPic;
                }
                byte[] bytes    = Convert.FromBase64String(carPic);
                string filePath = environment.WebRootPath + "/images/cars/" + fileName;
                using (FileStream binaryFileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
                {
                    binaryFileStream.Write(bytes, 0, bytes.Length);
                    updloadedCar            = carsRepository.UploadCarImage(number, fileName);
                    updloadedCar.carPicture = "images/cars/" + fileName;
                }
                if (updloadedCar != null)
                {
                    return(Ok(updloadedCar));
                }
                return(StatusCode(StatusCodes.Status417ExpectationFailed));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult AddCarForRent(CarForRentModel carForRentModel)
        {
            try
            {
                if (carForRentModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                string id = User.Identity.Name;
                carForRentModel.userID = id;
                CarForRentModel addedCarForRent = carForRentRepository.AddCarForRent(carForRentModel);
                return(StatusCode(StatusCodes.Status201Created, addedCarForRent));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
Example #7
0
 public IActionResult UpdateMessage(int messageID, MessageModel messageModel)
 {
     try
     {
         if (messageModel == null)
         {
             return(BadRequest("Data is null."));
         }
         if (!ModelState.IsValid)
         {
             Errors errors = ErrorsHelper.GetErrors(ModelState);
             return(BadRequest(errors));
         }
         string id = User.Identity.Name;
         messageModel.userID    = id;
         messageModel.messageID = messageID;
         MessageModel message = messagesRepository.UpdateMessage(messageModel);
         return(Ok(message));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
        public IActionResult UpdateCarType(int id, CarTypeModel carTypeModel)
        {
            try
            {
                if (carTypeModel == null)
                {
                    return(BadRequest("Data is null."));
                }

                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                carTypeModel.carTypeId = id;
                CarTypeModel updatedCarType = carTypeRepository.UpdateCarType(carTypeModel);
                return(Ok(updatedCarType));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
Example #9
0
 public IActionResult DeleteMessageByUser(string userId)
 {
     try
     {
         int i = messagesRepository.DeleteMessageByUser(userId);
         return(NoContent());
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetOneCarType(int id)
 {
     try
     {
         CarTypeModel oneCarType = carTypeRepository.GetOneCarType(id);
         return(Ok(oneCarType));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult DeleteCarType(int id)
 {
     try
     {
         int i = carTypeRepository.DeleteCarType(id);
         return(NoContent());
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
Example #12
0
 public IActionResult GetOneMessageById(int messageId)
 {
     try
     {
         MessageModel message = messagesRepository.GetOneMessageById(messageId);
         return(Ok(message));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetOneBranch(int id)
 {
     try
     {
         BranchModel oneBranch = branchRepository.GetOneBranch(id);
         return(Ok(oneBranch));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetAllBranchesNamesIds()
 {
     try
     {
         List <BranchModel> allBranchesNamesIds = branchRepository.GetAllBranchesNamesIds();
         return(Ok(allBranchesNamesIds));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetCarsForRentByUserId(string userid)
 {
     try
     {
         List <FullCarDataModel> allCarsForRent = carForRentRepository.GetCarsForRentByUserId(userid);
         return(Ok(allCarsForRent));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetRentByCar(string car)
 {
     try
     {
         List <CarForRentModel> allCarsForRent = carForRentRepository.GetCarsForRentByCarNumber(car);
         return(Ok(allCarsForRent));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
Example #17
0
 public IActionResult GetMessagesByUserId(string userId)
 {
     try
     {
         List <MessageModel> messages = messagesRepository.GetMessagesByUserId(userId);
         return(Ok(messages));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetOneUser(string id)
 {
     try
     {
         UserModel oneUser = usersRepository.GetOneUserById(id);
         return(Ok(oneUser));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult DeleteForRent(string number)
 {
     try
     {
         int i = carForRentRepository.DeleteCarForRent(number);
         return(NoContent());
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetOneCar(string number)
 {
     try
     {
         CarModel oneCar = carsRepository.GetOneCar(number);
         return(Ok(oneCar));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetCarAllData(string number)
 {
     try
     {
         FullCarDataModel oneFullCarDataModel = fullDataRepository.GetCarAllData(number);
         return(Ok(oneFullCarDataModel));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult GetAllCars()
 {
     try
     {
         List <CarModel> allCars = carsRepository.GetAllCars();
         return(Ok(allCars));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
 public IActionResult IsAvaliableByNumber(string carnumber, SearchModel searchModel)
 {
     try
     {
         bool isAvaliable = priceRepository.CheckIfCarAvaliable(carnumber, (DateTime)searchModel.fromDate, (DateTime)searchModel.toDate);
         return(Ok(isAvaliable));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
Example #24
0
 public IActionResult GetUserForMessage()
 {
     try
     {
         string    id      = User.Identity.Name;
         UserModel oneUser = userRepository.GetOneUserForMessageById(id);
         return(Ok(oneUser));
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }
        public IActionResult GetAllCarsAllData()
        {
            var page    = Request.Headers["page"];
            var carsNum = Request.Headers["carsNum"];

            try
            {
                SearchReturnModel searchReturnModel = searchRepository.GetAllCarsBySearch(new SearchModel(), int.Parse(page), int.Parse(carsNum));
                return(Ok(searchReturnModel));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult AddCar(CarModel carModel)
        {
            try
            {
                if (carModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                CarModel addedCar = carsRepository.AddCar(carModel);
                return(StatusCode(StatusCodes.Status201Created, addedCar));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult UpdateCar(string number, CarModel carModel)
        {
            try
            {
                if (carModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                carModel.carNumber = number;
                CarModel updatedCar = carsRepository.UpdateCar(carModel);
                return(Ok(updatedCar));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
        public IActionResult UpdateUser(string id, UserModel userModel)
        {
            try
            {
                if (userModel == null)
                {
                    return(BadRequest("Data is null."));
                }
                if (!ModelState.IsValid)
                {
                    Errors errors = ErrorsHelper.GetErrors(ModelState);
                    return(BadRequest(errors));
                }

                userModel.userID = id;
                UserModel updatedUser = usersRepository.UpdateUser(userModel);
                return(Ok(updatedUser));
            }
            catch (Exception ex)
            {
                Errors errors = ErrorsHelper.GetErrors(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError, errors));
            }
        }
 public IActionResult DeleteCar(string number)
 {
     try
     {
         string carImage = carsRepository.DeleteCar(number);
         carImage = carImage.Trim();
         CarPictureModel carsPictureModel = carsRepository.GetNumberOfCarWithImage(carImage);
         if (carsPictureModel.numberOfCars == 0)
         {
             string filePath = environment.WebRootPath + "/images/cars/" + carImage;
             var    file     = new FileInfo(filePath);
             if (file.Exists)
             {
                 file.Delete();
             }
         }
         return(NoContent());
     }
     catch (Exception ex)
     {
         Errors errors = ErrorsHelper.GetErrors(ex);
         return(StatusCode(StatusCodes.Status500InternalServerError, errors));
     }
 }