public static List <DataModels.ClientProfile> GetClientProfileById(int id, bool withCarsFollowed)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            if (withCarsFollowed)
            {
                ClientProfile clientProfile;
                var           ListCarsFollowed = new List <DataModels.CarProfileModel>();

                mutex.WaitOne();

                clientProfile = new ClientProfile(db.Client_Profiles.FirstOrDefault(n => n.Client_ID == id));
                foreach (Cars_followed Car in db.Cars_followed.Where(car => car.Client_ID == id))
                {
                    ListCarsFollowed.Add(new CarProfileModel(Car.Car_Profiles));
                }
                mutex.ReleaseMutex();
                clientProfile.CarsFollowedByClient = ListCarsFollowed;
                var list = new List <ClientProfile>();
                list.Add(clientProfile);

                return(list);
            }
            else
            {
                ClientProfile clientProfile;
                mutex.WaitOne();
                clientProfile = new ClientProfile(db.Client_Profiles.FirstOrDefault(n => n.Client_ID == id));
                mutex.ReleaseMutex();
                var list = new List <ClientProfile>();
                list.Add(clientProfile);
                return(list);
            }
        }
        public static bool DeleteClientProfileFromDB(int ClientProfileID)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            bool profileExists = false;

            mutex.WaitOne();

            if (!CheckIfClientProfileExists(ClientProfileID))
            {
                profileExists = false;
                mutex.ReleaseMutex();
                return(profileExists);
            }

            try
            {
                Client_Profiles ClientProfileEntity = db.Client_Profiles.FirstOrDefault(n => n.Client_ID == ClientProfileID);
                db.Client_Profiles.Remove(ClientProfileEntity);
                db.SaveChanges();
                mutex.ReleaseMutex();
                return(true);
            }
            catch (Exception e)
            {
                mutex.ReleaseMutex();
                return(false);
            }
        }
        public static bool ModifyExistingClientProfile(DataModels.ClientProfile ClientProfileModel)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            bool profileExists = false;

            mutex.WaitOne();

            if (!CheckIfClientProfileExists(ClientProfileModel))
            {
                profileExists = false;
                mutex.ReleaseMutex();
                return(profileExists);
            }

            try
            {
                Client_Profiles ClientProfileEntity = db.Client_Profiles.FirstOrDefault(n => n.Client_ID == ClientProfileModel.ClientID);

                ClientProfileEntity.Client_name         = ClientProfileModel.ClientName;
                ClientProfileEntity.Client_surname      = ClientProfileModel.ClientSurname;
                ClientProfileEntity.Client_phone_number = ClientProfileModel.ClientPhoneNumber;

                db.SaveChanges();
                mutex.ReleaseMutex();
                return(true);
            }
            catch (Exception e)
            {
                mutex.ReleaseMutex();
                return(false);
            }
        }
        public static HttpResponseMessage DeleteCarBrandById(int brandId)
        {
            HttpResponseMessage result = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden);

            result.Content = new StringContent("Brand does not exists in DB.");

            mutex.WaitOne();

            if (!CheckIfCarBrandAlreadyExsistsInDB(brandId))
            {
                mutex.ReleaseMutex();
                return(result);
            }

            var db = new ITAPPCarWorkshopServiceDBEntities();

            Car_Brands carBrandToDelete;

            carBrandToDelete = db.Car_Brands.FirstOrDefault(brand => brand.Brand_ID == brandId);
            db.Car_Brands.Remove(carBrandToDelete);
            db.SaveChanges();

            mutex.ReleaseMutex();

            result         = new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
            result.Content = new StringContent("Brand was probably deleted.");

            return(result);
        }
 public IEnumerable <Workshop_Comments> Get_all_comments_from_Workshop_ID([FromUri] int ID)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         return(db.Workshop_Comments.Where(p => p.Workshop_ID == ID));
     }
 }
        public static HttpResponseMessage ModifyCarBrand(DataModels.CarBrandModel carBrand)
        {
            HttpResponseMessage result = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden);

            result.Content     = new StringContent("Brand does not exists in DB.");
            carBrand.BrandName = AdjustCarBrandName(carBrand.BrandName);

            mutex.WaitOne();

            if (!CheckIfCarBrandAlreadyExsistsInDB(carBrand.BrandName))
            {
                mutex.ReleaseMutex();
                return(result);
            }

            var db = new ITAPPCarWorkshopServiceDBEntities();

            Car_Brands exsistingCarBrand;

            exsistingCarBrand            = db.Car_Brands.FirstOrDefault(brand => brand.Brand_Name == carBrand.BrandName);
            exsistingCarBrand.Brand_Name = carBrand.BrandName;
            db.SaveChanges();

            mutex.ReleaseMutex();

            result         = new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
            result.Content = new StringContent("Brand was probably modified.");

            return(result);
        }
Example #7
0
        private static bool CheckIfCommentCanBeAdded(Workshop_Comments comment)
        {
            // TODO:
            // Check if there is any sense in here
            // I have no idea if it works correctly xD
            var mustBeOlderThat = DateTime.Now.AddDays(-minTimeBetweenCommentsInDays);

            var db = new ITAPPCarWorkshopServiceDBEntities();

            if (!db.Workshop_Comments.Any(n => n.Workshop_ID == comment.Workshop_ID && n.Client_ID == comment.Client_ID))
            {
                return(true);
            }

            var list = db.Workshop_Comments.Where(n => n.Workshop_ID == comment.Workshop_ID && n.Client_ID == comment.Client_ID).OrderByDescending(n => n.Comment_date).ToList();

            var lastCommentDate = list.First().Comment_date;

            if (lastCommentDate < mustBeOlderThat)
            {
                return(true);
            }

            return(false);
        }
 public Workshop_Comments Get_comment([FromUri] int ID)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         return(db.Workshop_Comments.FirstOrDefault(p => p.Comment_ID == ID));
     }
 }
 public IEnumerable <Workshop_Employees> Get_all_employees(int ID)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         return(db.Workshop_Employees.Where(p => p.Workshop_ID == ID));
     }
 }
 public Workshop_Employees Get_employee(int ID)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         return(db.Workshop_Employees.FirstOrDefault(p => p.Workshop_empoyee_ID == ID));
     }
 }
Example #11
0
 public Workshop_Opening_Hours Get_oppenting_houers(int ID)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         return(db.Workshop_Opening_Hours.FirstOrDefault(p => p.Workshop_ID == ID));
     }
 }
        public static HttpResponseMessage AddNewCarBrand(DataModels.CarBrandModel carBrand)
        {
            HttpResponseMessage result = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden);

            result.Content     = new StringContent("Car already exisits");
            carBrand.BrandName = AdjustCarBrandName(carBrand.BrandName);

            mutex.WaitOne();

            if (CheckIfCarBrandAlreadyExsistsInDB(carBrand.BrandName))
            {
                mutex.ReleaseMutex();
                return(result);
            }

            var db = new ITAPPCarWorkshopServiceDBEntities();

            db.Car_Brands.Add(carBrand.MakeCarBrandEntityFromCarBrandModel());
            db.SaveChanges();
            mutex.ReleaseMutex();
            result         = new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
            result.Content = new StringContent("Brand was added to DB.");

            return(result);
        }
Example #13
0
        private static bool CheckIfUserExistsPrivate(string userEmail)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            userEmail = UserEmailAdjustment(userEmail);

            return(db.Users.Any(user => user.User_email.ToLower().Equals(userEmail)));
        }
Example #14
0
        private static bool CheckIfWorkshopProfileExistsByName(string name)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            name = PrepareToCompare(name);

            return(db.Workshop_Profiles.Any(workshop => workshop.Workshop_name.ToLower().Equals(name)));
        }
Example #15
0
        private static bool CheckIfWorkshopProfileExistsByCity(string city)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            city = PrepareToCompare(city);

            return(db.Workshop_Profiles.Any(workshop => workshop.Workshop_address_city.ToLower().Equals(city)));
        }
Example #16
0
        private static bool CheckIfWorkshopProfileExistsByNIP(string NIP)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            NIP = PrepareToCompare(NIP);

            return(db.Workshop_Profiles.Any(workshop => workshop.Workshop_NIP.Equals(NIP)));
        }
        static public List <DataModels.CarServiceModel> GetListOfCarService()
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();
            List <DataModels.CarServiceModel> returnList;

            mutex.WaitOne();
            returnList = DataModels.CarServiceModel.ListOfEntityToListOfModels(db.Car_Services.ToList());
            mutex.ReleaseMutex();
            return(returnList);
        }
        static public DataModels.CarServiceModel GetListByID(int ID)
        {
            var          db = new ITAPPCarWorkshopServiceDBEntities();
            Car_Services returnValue;

            mutex.WaitOne();
            returnValue = db.Car_Services.First(service => service.Service_ID == ID);
            mutex.ReleaseMutex();
            return(new DataModels.CarServiceModel(returnValue));
        }
Example #19
0
        private static bool TryToLogIn(DataModels.UserModel user)
        {
            bool result = false;

            var db = new ITAPPCarWorkshopServiceDBEntities();

            result = db.Users.Any(n => n.User_email.Equals(user.UserEmail) && n.User_password.Equals(user.UserPassword));

            return(result);
        }
        public static DataModels.CarBrandModel GetCarBrandById(int carBrandId)
        {
            DataModels.CarBrandModel carBrand;
            var db = new ITAPPCarWorkshopServiceDBEntities();

            mutex.WaitOne();
            carBrand = new DataModels.CarBrandModel(db.Car_Brands.FirstOrDefault(car_brand => car_brand.Brand_ID == carBrandId));
            mutex.ReleaseMutex();

            return(carBrand);
        }
 public Response_String Add_workshop_employee([FromBody] Workshop_Employees New_Employee)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         db.Workshop_Employees.Add(New_Employee);
         db.SaveChanges();
         return(new Response_String()
         {
             Response = "Item was added"
         });
     }
 }
Example #22
0
        public static List <Workshop_Comments> GetComments(int workshopId)
        {
            mutex.WaitOne();
            var db = new ITAPPCarWorkshopServiceDBEntities();

            List <Workshop_Comments> list = null;

            list = db.Workshop_Comments.Where(n => n.Workshop_ID == workshopId).OrderByDescending(n => n.Comment_date).ToList();

            mutex.ReleaseMutex();
            return(list);
        }
 public Response_String Add_Comment([FromBody] Workshop_Comments New_Comment)
 {
     using (var db = new ITAPPCarWorkshopServiceDBEntities())
     {
         db.Workshop_Comments.Add(New_Comment);
         db.SaveChanges();
         return(new Response_String()
         {
             Response = "Item was added"
         });
     }
 }
Example #24
0
        public static List <DataModels.WorkshopProfileModel> GetWorkshopsByCityAndName(string city, string name)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            city = PrepareToCompare(city);
            name = PrepareToCompare(name);
            mutex.WaitOne();
            if (city.Length >= minimumCityLength && name.Length >= minimumNameLength)
            {
                var list = db.Workshop_Profiles.Where(n => n.Workshop_address_city.Replace(" ", string.Empty).ToLower().Equals(city) && n.Workshop_name.ToLower().Replace(" ", string.Empty).Contains(name)).ToList();
                mutex.ReleaseMutex();
                var ListOfModels = DataModels.WorkshopProfileModel.MakeModelsListFromEntitiesList(list);
                foreach (DataModels.WorkshopProfileModel Connection in ListOfModels)
                {
                    foreach (Workshop_Brand_Connections conn in db.Workshop_Brand_Connections.Where(con => con.Workshop_ID == Connection.WorkshopID))
                    {
                        Connection.BrandsList.Add(new DataModels.CarBrandModel(db.Car_Brands.FirstOrDefault(Brand => Brand.Brand_ID == conn.Car_brand_ID)));
                    }
                }
                return(ListOfModels);
            }
            if (city.Length >= minimumCityLength)
            {
                var list = db.Workshop_Profiles.Where(n => n.Workshop_address_city.ToLower().Replace(" ", string.Empty).Equals(city)).ToList();
                mutex.ReleaseMutex();
                var ListOfModels = DataModels.WorkshopProfileModel.MakeModelsListFromEntitiesList(list);
                foreach (DataModels.WorkshopProfileModel Connection in ListOfModels)
                {
                    foreach (Workshop_Brand_Connections conn in db.Workshop_Brand_Connections.Where(con => con.Workshop_ID == Connection.WorkshopID))
                    {
                        Connection.BrandsList.Add(new DataModels.CarBrandModel(db.Car_Brands.FirstOrDefault(Brand => Brand.Brand_ID == conn.Car_brand_ID)));
                    }
                }
                return(ListOfModels);
            }
            if (name.Length >= minimumNameLength)
            {
                var list = db.Workshop_Profiles.Where(n => n.Workshop_name.ToLower().Replace(" ", string.Empty).Contains(name)).ToList();
                mutex.ReleaseMutex();
                var ListOfModels = DataModels.WorkshopProfileModel.MakeModelsListFromEntitiesList(list);
                foreach (DataModels.WorkshopProfileModel Connection in ListOfModels)
                {
                    foreach (Workshop_Brand_Connections conn in db.Workshop_Brand_Connections.Where(con => con.Workshop_ID == Connection.WorkshopID))
                    {
                        Connection.BrandsList.Add(new DataModels.CarBrandModel(db.Car_Brands.FirstOrDefault(Brand => Brand.Brand_ID == conn.Car_brand_ID)));
                    }
                }
                return(ListOfModels);
            }
            mutex.ReleaseMutex();
            return(new List <DataModels.WorkshopProfileModel>());
        }
        private static bool CheckIfCarBrandAlreadyExsistsInDB(int carBrandId)
        {
            bool result = false;

            var db = new ITAPPCarWorkshopServiceDBEntities();

            if (db.Car_Brands.Any(brandName => brandName.Brand_ID == carBrandId))
            {
                result = true;
            }

            return(result);
        }
Example #26
0
        public static HttpResponseMessage Login(DataModels.UserModel user)
        {
            user.UserEmail = UserEmailAdjustment(user.UserEmail);

            var db = new ITAPPCarWorkshopServiceDBEntities();

            mutex.WaitOne();
            if (!CheckIfUserExistsPrivate(user.UserEmail))
            {
                mutex.ReleaseMutex();
                var response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                response.Content = new StringContent("Account of given email address does not exists.");

                return(response);
            }

            if (TryToLogIn(user))
            {
                var    response    = new HttpResponseMessage(HttpStatusCode.OK);
                string TokenString = GenerateTokenForUser(user.UserEmail);
                int    userID      = GetUserIdByUserEmailPrivate(user.UserEmail);
                int    clientID    = -1;

                if (db.Client_Profiles.Any(n => n.User_ID == userID))
                {
                    clientID = db.Client_Profiles.First(n => n.User_ID == userID).Client_ID;
                }

                mutex.ReleaseMutex();

                var ResponseContentAsModel = new ITAPP_CarWorkshopService.AdditionalModels.LoginResponse()
                {
                    Token    = TokenString,
                    UserID   = userID,
                    ClientID = clientID
                };

                var ResponseContentAsJSON = JsonConvert.SerializeObject(ResponseContentAsModel);
                response.Content = new StringContent(ResponseContentAsJSON);

                return(response);
            }
            else
            {
                mutex.ReleaseMutex();
                var response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                response.Content = new StringContent("Wrong password");

                return(response);
            }
        }
        static public List <DataModels.WorkshopBrandConnectionsModels> GetAllConnections()
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            mutex.WaitOne();
            List <DataModels.WorkshopBrandConnectionsModels> List = new List <DataModels.WorkshopBrandConnectionsModels>();

            foreach (ITAPP_CarWorkshopService.Workshop_Brand_Connections data in db.Workshop_Brand_Connections)
            {
                List.Add(new DataModels.WorkshopBrandConnectionsModels(data));
            }
            mutex.ReleaseMutex();
            return(List);
        }
        public static List <DataModels.CarProfileModel> GetCarProfileById(int CarProfileId)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            mutex.WaitOne();

            var ListOfEntities = db.Car_Profiles.Where(n => n.Car_ID == CarProfileId).ToList();

            mutex.ReleaseMutex();

            var ListOfModels = DataModels.CarProfileModel.ListOfEntityToListOfModels(ListOfEntities);

            return(ListOfModels);
        }
        public static List <DataModels.CarProfileModel> GetAllCarProfiles()
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            mutex.WaitOne();

            var ListOfEntities = db.Car_Profiles.ToList();

            mutex.ReleaseMutex();

            var ListOfModels = DataModels.CarProfileModel.ListOfEntityToListOfModels(ListOfEntities);

            return(ListOfModels);
        }
Example #30
0
        public static HttpResponseMessage CheckIfNameValidPublic(string EmailAddress)
        {
            var db = new ITAPPCarWorkshopServiceDBEntities();

            if (db.Users.Any(n => n.User_email.ToLower() == EmailAddress.ToLower()))
            {
                var response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                return(response);
            }
            else
            {
                var response = new HttpResponseMessage(HttpStatusCode.OK);
                return(response);
            }
        }