public async Task <IHttpActionResult> updateAPTCVehicle(Vehicle_CT_Data model) { //string CTDriverUpdateAPI = ConfigurationManager.AppSettings.Get("CTDriverUpdateAPI"); string CTUpdateAPIURL = ConfigurationManager.AppSettings.Get("CTVehicleUpdateURL"); string CTAPIUserId = ConfigurationManager.AppSettings.Get("CTAPIUserId"); string CTAPIPassword = ConfigurationManager.AppSettings.Get("CTAPIPassword"); try { using (var client = new HttpClient()) { using (var request = new HttpRequestMessage(HttpMethod.Post, CTUpdateAPIURL)) { var byteArray = Encoding.ASCII.GetBytes(CTAPIUserId + ":" + CTAPIPassword); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); var jsonInpt = JsonConvert.SerializeObject(model); var response = await client.PostAsync(CTUpdateAPIURL, new StringContent(jsonInpt)); response.EnsureSuccessStatusCode(); string content = await response.Content.ReadAsStringAsync(); JObject json = JObject.Parse(content); if (response.StatusCode == HttpStatusCode.OK) { return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), content, ""), new JsonMediaTypeFormatter())); } else { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), ""), new JsonMediaTypeFormatter())); } } } } catch (Exception ex) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), ex.InnerException.Message.ToString()), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> UpdateVehicle(Vehicle_CT_Data model) { try { if (!ModelState.IsValid) { var modelErrors = new List <string>(); foreach (var modelState in ModelState.Values) { foreach (var modelError in modelState.Errors) { modelErrors.Add(modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } string query = @"select* from " + _bucket.Name + " as APTC_Vehicle where meta().id like 'Vehicle_%' and vin = '" + model.Registration + "'"; var vehicleIsExistOrNot = _bucket.Query <object>(query).ToList(); if (vehicleIsExistOrNot.Count == 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), model.Registration + " vehicle not exists."), new JsonMediaTypeFormatter())); } var userKey = "Vehicle_CT_Data_" + model.Registration; // This is vehicle chassis number. - unique number of vehicle discussed with mosaab // in Our DB it`s vin if (await _bucket.ExistsAsync(userKey)) { //return Content(HttpStatusCode.Conflict, new Error($"Vehicle '{model.EngineNumber}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "171-Registration number already exists."), new JsonMediaTypeFormatter())); } // call third part api to check Vehicle is valid or not var vehicle_CT_Data_Doc = new Document <Vehicle_CT_Data>() { Id = userKey, Content = new Vehicle_CT_Data { Registration = model.Registration, Taxi_type = model.Taxi_type, Manufacturer = model.Manufacturer, Model = model.Model, Modelyear = model.Modelyear, Colour = model.Colour, Passenger_capacity = model.Passenger_capacity, Vehicle_status = model.Vehicle_status, Vehicle_enabled = model.Vehicle_enabled, Franchisee_user_name = model.Franchisee_user_name, IsActive = false, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = "CarTrack"//model.DriverID } }; var result = await _bucket.InsertAsync(vehicle_CT_Data_Doc); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id), new JsonMediaTypeFormatter())); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }