public IHttpActionResult CreateNewCustomer([FromBody] List <object> body) //need to pull out customer and customerRequest
        {
            //get items from the body
            JObject customerInfo  = body[0] as JObject;
            string  customerRedis = body[1].ToString();

            //get info from the customerInfo JObject
            Customer customer = new Customer()
            {
                ID               = 0,
                UserName         = customerInfo["UserName"].Value <string>(),
                Password         = customerInfo["Password"].Value <string>(),
                FirstName        = customerInfo["FirstName"].Value <string>(),
                LastName         = customerInfo["LastName"].Value <string>(),
                Address          = customerInfo["Address"].Value <string>(),
                PhoneNo          = customerInfo["PhoneNo"].Value <string>(),
                CreditCardNumber = customerInfo["CreditCardNumber"].Value <string>()
            };

            ILoggedInAdministratorFacade adminFacade;
            LoginToken <Administrator>   token;

            if (TryGetConnector(out adminFacade, out token) == true)
            {
                try
                {
                    //trying to add to the database
                    adminFacade.CreateNewCustomer(token, customer);

                    //removes customer request from redis
                    string        serializedCustomerList = RedisAccessLayer.GetWithTimeStamp("customerRequestList").JsonData;
                    List <object> customerList           = JsonConvert.DeserializeObject <List <object> >(serializedCustomerList);
                    object        customerToRemove       = customerList.Find(c => c.ToString().Contains(customerRedis));
                    customerList.Remove(customerToRemove);

                    string finishedRequestList = JsonConvert.SerializeObject(customerList);
                    RedisAccessLayer.SaveWithTimeStamp("customerRequestList", finishedRequestList);

                    return(Ok());
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(BadRequest(e.Message));
                }
            }
            return(Unauthorized());
        }
Exemple #2
0
        public ActionResult RequestAddingCustomer()
        {
            //getting info from the form
            string inputUsername   = Request.Form["inputUsername"];
            string inputPassword   = Request.Form["inputPassword"];
            string inputFirstName  = Request.Form["inputFirstName"];
            string inputLastName   = Request.Form["inputLastName"];
            string inputEmail      = Request.Form["inputEmail"];
            string inputPhoneNo    = Request.Form["inputPhoneNo"];
            string inputCreditCard = Request.Form["inputCreditCard"];

            //create list if there isn't any yet
            if (RedisAccessLayer.GetWithTimeStamp("customerRequestList") == null)
            {
                List <string> customerRequestList = new List <string>();
                string        cRL = JsonConvert.SerializeObject(customerRequestList);
                RedisAccessLayer.SaveWithTimeStamp("customerRequestList", cRL);
            }

            //getting the list
            string        serializedRequestList = RedisAccessLayer.GetWithTimeStamp("customerRequestList").JsonData;
            List <object> requestList           = JsonConvert.DeserializeObject <List <object> >(serializedRequestList);

            var customerRequest = new //creating the item
            {
                Username   = inputUsername,
                Password   = inputPassword,
                FirstName  = inputFirstName,
                LastName   = inputLastName,
                Email      = inputEmail,
                PhoneNo    = inputPhoneNo,
                CreditCard = inputCreditCard,
            };

            //putting the item in the list
            requestList.Add(customerRequest);

            //serialize back into redis
            string finishedRequestList = JsonConvert.SerializeObject(requestList);

            RedisAccessLayer.SaveWithTimeStamp("customerRequestList", finishedRequestList);

            return(Redirect("http://localhost:9002/")); //returning the login screen
        }
        public IHttpActionResult CreateNewAirline([FromBody] List <object> body) //need to pull out airline and airlineRequest
        {
            //get items from the body
            JObject airlineInfo  = body[0] as JObject;
            string  airlineRedis = body[1].ToString();

            //get info from the airlineInfo JObject
            AirlineCompany airline = new AirlineCompany()
            {
                ID          = 0,
                UserName    = airlineInfo["UserName"].Value <string>(),
                Password    = airlineInfo["Password"].Value <string>(),
                AirlineName = airlineInfo["AirlineName"].Value <string>(),
                CountryCode = airlineInfo["CountryCode"].Value <long>()
            };
            ILoggedInAdministratorFacade adminFacade;
            LoginToken <Administrator>   token;

            if (TryGetConnector(out adminFacade, out token) == true)
            {
                try
                {
                    //trying to add to the database
                    adminFacade.CreateNewAirline(token, airline);

                    //removes airline request from redis
                    string        serializedAirlineList = RedisAccessLayer.GetWithTimeStamp("airlineRequestList").JsonData;
                    List <object> airlineList           = JsonConvert.DeserializeObject <List <object> >(serializedAirlineList);
                    object        airlineToRemove       = airlineList.Find(a => a.ToString().Contains(airlineRedis));
                    airlineList.Remove(airlineToRemove);

                    string finishedRequestList = JsonConvert.SerializeObject(airlineList);
                    RedisAccessLayer.SaveWithTimeStamp("airlineRequestList", finishedRequestList);

                    return(Ok());
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(BadRequest(e.Message));
                }
            }
            return(Unauthorized());
        }
Exemple #4
0
        public ActionResult RequestAddingAirline()
        {
            //getting info from the form
            string inputUsername    = Request.Form["inputUsername"];
            string inputPassword    = Request.Form["inputPassword"];
            string inputAirlineName = Request.Form["inputAirlineName"];
            string inputCountryId   = Request.Form["inputCountryId"];

            //create list if there isn't any yet
            if (RedisAccessLayer.GetWithTimeStamp("airlineRequestList") == null)
            {
                List <string> airlineRequestList = new List <string>();
                string        aRL = JsonConvert.SerializeObject(airlineRequestList);
                RedisAccessLayer.SaveWithTimeStamp("airlineRequestList", aRL);
            }

            //getting the list
            string        serializedRequestList = RedisAccessLayer.GetWithTimeStamp("airlineRequestList").JsonData;
            List <object> requestList           = JsonConvert.DeserializeObject <List <object> >(serializedRequestList);

            Country country = anonymousFacade.GetCountryById(long.Parse(inputCountryId));

            var airlineRequest = new //creating the item
            {
                Username    = inputUsername,
                Password    = inputPassword,
                AirlineName = inputAirlineName,
                CountryId   = inputCountryId,
                Country     = country.CountryName
            };

            //putting the item in the list
            requestList.Add(airlineRequest);

            //serialize back into redis
            string finishedRequestList = JsonConvert.SerializeObject(requestList);

            RedisAccessLayer.SaveWithTimeStamp("airlineRequestList", finishedRequestList);

            return(Redirect("http://localhost:9002/")); //returning the login screen
        }
Exemple #5
0
        public IHttpActionResult GetLists()
        {
            try
            {
                //create airline list if there isn't any yet
                if (RedisAccessLayer.GetWithTimeStamp("airlineRequestList") == null)
                {
                    List <string> airlineRequestList = new List <string>();
                    string        aRL = JsonConvert.SerializeObject(airlineRequestList);
                    RedisAccessLayer.SaveWithTimeStamp("airlineRequestList", aRL);
                }

                string        serializedAirlineList = RedisAccessLayer.GetWithTimeStamp("airlineRequestList").JsonData;
                List <object> airlineList           = JsonConvert.DeserializeObject <List <object> >(serializedAirlineList);

                //create customer list if there isn't any yet
                if (RedisAccessLayer.GetWithTimeStamp("customerRequestList") == null)
                {
                    List <string> customerRequestList = new List <string>();
                    string        cRL = JsonConvert.SerializeObject(customerRequestList);
                    RedisAccessLayer.SaveWithTimeStamp("customerRequestList", cRL);
                }

                string        serializedCustomerList = RedisAccessLayer.GetWithTimeStamp("customerRequestList").JsonData;
                List <object> customerList           = JsonConvert.DeserializeObject <List <object> >(serializedCustomerList);

                var lists = new
                {
                    AirlineList  = airlineList,
                    CustomerList = customerList
                };

                return(Ok(lists));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(BadRequest());
        }
        public IHttpActionResult RejectCustomerRequest([FromBody] object customerRequest)
        {
            try
            {
                //should i try to connect to the admin or was the authentication enough?

                //remove customerRequest from redis
                string        serializedCustomerList = RedisAccessLayer.GetWithTimeStamp("customerRequestList").JsonData;
                List <object> customerList           = JsonConvert.DeserializeObject <List <object> >(serializedCustomerList);
                object        customerToRemove       = customerList.Find(c => c.ToString().Contains(customerRequest.ToString()));
                customerList.Remove(customerToRemove);

                string finishedRequestList = JsonConvert.SerializeObject(customerList);
                RedisAccessLayer.SaveWithTimeStamp("customerRequestList", finishedRequestList);

                return(Ok());
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(BadRequest());
        }