public async Task <IHttpActionResult> RegisterPassengerMessage(PassengerMessageModel model) { //Modified by Vishal on 23-07-2018 as per joe email if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-NameEN or NameAR is required"), new JsonMediaTypeFormatter())); } try { //Modified by Vishal on 24-07-2018 as per joe email if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-Either nameEN or nameAR is required"), new JsonMediaTypeFormatter())); } 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())); } var userKey = "PassengerMessage_" + model.EmailAddress; if (await _bucket.ExistsAsync(userKey)) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter())); } // call third part api to check Vehicle is valid or not var passengerMessageDoc = new Document <PassengerMessageModel>() { Id = userKey, Content = new PassengerMessageModel { Action = "ADD", PassengerID = userKey, NameEN = model.NameEN, NameAR = model.NameAR, MobileNumber = model.MobileNumber, EmailAddress = model.EmailAddress, } }; var result = await _bucket.InsertAsync(passengerMessageDoc); 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())); } }
public async Task <IHttpActionResult> RegisterPassengerMessage(PassengerMessageModel model) { //Modified by Vishal on 24-07-2018 as per joe email if (string.IsNullOrEmpty(model.NameEN) && string.IsNullOrEmpty(model.NameAR)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "110-Either arbic name or english name is required"), new JsonMediaTypeFormatter())); } 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())); } var userKey = "PassengerMessage_" + model.PassengerID; if (await _bucket.ExistsAsync(userKey)) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-Passenger ID already exists."), new JsonMediaTypeFormatter())); } List <SawariBookingModel> sawariBookingModels = new List <SawariBookingModel>(); // call third part api to check Vehicle is valid or not var passengerMessageDoc = new Document <PassengerMessageModel>() { Id = userKey, Content = new PassengerMessageModel { //Action = "ADD", PassengerID = model.PassengerID, NameEN = model.NameEN, NameAR = model.NameAR, MobileNumber = model.MobileNumber, EmailAddress = model.EmailAddress, Booking = sawariBookingModels, // this is only UAT testing for check when ct created. Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = "CarTrack" } }; var result = await _bucket.InsertAsync(passengerMessageDoc); 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())); } }