private Tuple <bool, string> ValidateResponse(HttpWebRequest request) { if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { return(new Tuple <bool, string>(true, httpResponse)); } else { if (code == HttpStatusCode.Conflict) { return(new Tuple <bool, string>(false, "")); } else { throw new Exception(); } } } else { throw new Exception(); } }
public new bool?Login() { string url = IoC.API_URL + "company/login"; string json = Connect_dl.BuildJson(this); HttpWebRequest request = Connect_dl.BuildRequest(url, "POST", json); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //save company in IoC, return true Company currentCompany = Newtonsoft.Json.JsonConvert.DeserializeObject <Company>(httpResponse); IoC.CurrentCompany = currentCompany; return(true); } else { if (httpResponse == "Incorrect Username or Password") { //clear company, return false for incorrect username/password IoC.ClearSessionIoC(); return(false); } else { //clear company, return null for server error IoC.ClearSessionIoC(); return(null); } } } else { //clear company, return null for server error IoC.ClearSessionIoC(); return(null); } }
public new bool?SignUp() { string url = IoC.API_URL + "company/signUp"; string json = Connect_dl.BuildJson(this); HttpWebRequest request = Connect_dl.BuildRequest(url, "POST", json); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //clear company in IoC, return true Company company = new Company(); IoC.CurrentCompany = company; return(true); } else { if (httpResponse == "Company already exists with specified username.") { //clear company, return false for incorrect username/password IoC.ClearSessionIoC(); return(false); } else { //clear company, return null for server error IoC.ClearSessionIoC(); return(null); } } } else { //clear company, return null for server error IoC.ClearSessionIoC(); return(null); } }
private object ValidateResponse(string method, HttpWebRequest request) { switch (method) { case "Fill": ParkingLot parkingLotFill = new ParkingLot(); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return parkingLot parkingLotFill = Newtonsoft.Json.JsonConvert.DeserializeObject <ParkingLot>(httpResponse); return(parkingLotFill); } else { //return parkingLots with no info return(parkingLotFill); } } else { //return parkingLots with no info return(parkingLotFill); } case "GetParkingLotListFromCompanyID": List <ParkingLot> parkingLots = new List <ParkingLot>(); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return devices parkingLots = Newtonsoft.Json.JsonConvert.DeserializeObject <List <ParkingLot> >(httpResponse); return(parkingLots); } else { if (httpResponse == "No devices are linked to this company.") { //Return empty list return(parkingLots); } else { //return null return(null); } } } else { //return null return(null); } case "UpdateParkingLot": ParkingLot parkingLotUpdate = new ParkingLot(); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return parking lot parkingLotUpdate = Newtonsoft.Json.JsonConvert.DeserializeObject <ParkingLot>(httpResponse); return(parkingLotUpdate); } else { //return null return(null); } } else { return(null); } case "GetCamerasDeployed": List <Device> devicesToLot = new List <Device>(); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return parking lot devicesToLot = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Device> >(httpResponse); return(devicesToLot); } else { if (httpResponse == "No deployed devices found") { //Return empty list return(devicesToLot); } else { //return null return(null); } } } else { return(null); } case "Delete": bool?deleteResult = false; if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return parking lot deleteResult = Newtonsoft.Json.JsonConvert.DeserializeObject <bool?>(httpResponse); return(deleteResult); } else { if (httpResponse == "Devices still deployed to parking lot.") { //Return empty list return(false); } else { //return null return(null); } } } else { return(null); } case "Create": ParkingLot parkingLotCreate = new ParkingLot(); if (request != null) { Dictionary <HttpStatusCode, string> response = Connect_dl.GetResponse(request); HttpStatusCode code = response.FirstOrDefault().Key; string httpResponse = response.FirstOrDefault().Value; if (code == HttpStatusCode.OK) { //return parking lot parkingLotCreate = Newtonsoft.Json.JsonConvert.DeserializeObject <ParkingLot>(httpResponse); return(parkingLotCreate); } else { return(null); } } else { return(null); } default: return(false); } }