public async Task <IHttpActionResult> Performance(Performance model) { try { List <DriverScore> driverScoreList = new List <DriverScore>(); var strPath = @"G:\Projects\APTCAPI\CTAPI\Performance.json"; string localPath = new Uri(strPath).LocalPath; Performance performance = new Performance(); using (StreamReader read = new StreamReader(strPath)) { string json = read.ReadToEnd(); performance = JsonConvert.DeserializeObject <Performance>(json); } foreach (var score in performance.DriverScore) { DriverScore driverScore = new DriverScore(); driverScore.DriverId = score.DriverId; driverScore.KmsTravelled = score.KmsTravelled; driverScore.Braking = score.Braking; driverScore.Accel = score.Accel; driverScore.Corner = score.Corner; driverScore.Idle = score.Idle; driverScore.Speeding = score.Speeding; driverScore.AverageTotal = score.Speeding; driverScoreList.Add(score); } var performanceDoc = new Document <Performance>() { Id = CreateUserKey(), Content = new Performance { //Id = CreateUserKey(), StartDateTime = performance.StartDateTime, EndDateTime = performance.EndDateTime, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), DriverScore = driverScoreList } }; //IBucket _bucketperformance = ClusterHelper.GetBucket("DriverPerfoemance"); var result = await _bucket.InsertAsync(performanceDoc); 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> RegisterIncidentMessage(IncidentMessageModel 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())); } var userKey = "IncidentMessage_" + model.DriverID + "_" + DateTime.Now.Ticks.ToString(); //if (await _bucket.ExistsAsync(userKey)) //{ // //return Content(HttpStatusCode.Conflict, new Error($"Incident Message '{model.DriverID}' already exists")); // return Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "167-Driver ID already exists"), new JsonMediaTypeFormatter()); //} // call third part api to check Vehicle is valid or not var incidentMessageMessageDoc = new Document <IncidentMessageModel>() { Id = userKey, Content = new IncidentMessageModel { DriverID = model.DriverID, DateTime = model.DateTime, Notes = model.Notes, // 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(incidentMessageMessageDoc); if (!result.Success) { //return Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), EncryptDecrypt.Encryptword(result.Message)), new JsonMediaTypeFormatter()); return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } //return Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(),MessageDescriptions.Add, EncryptDecrypt.Encryptword(result.Document.Id)), 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> Register(License 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())); } var licenseId = "License" + CreateUserKey(model.LicenseNumber); if (await _bucket.ExistsAsync(model.LicenseNumber)) { //return Content(HttpStatusCode.Conflict, new Error($"License:-'{model.LicenseNumber}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "License already exists"), new JsonMediaTypeFormatter())); } //call api check driver varification with EmiratiId if driver valid the driver valid will be true otherwise false var licenseDoc = new Document <License>() { Id = licenseId, Content = new License { Id = licenseId, Action = "Add", IssueDate = model.IssueDate, ExpiryDate = model.ExpiryDate, IsActive = true, IsDeleted = true, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), } }; var result = await _bucket.InsertAsync(licenseDoc); 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> RegisterAboutUs(AboutUs 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())); } var aboutUsMessageDoc = new Document <AboutUs>() { Id = "aboutUs_" + CreateUserKey(), Content = new AboutUs { Contents = model.Contents, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()) } }; var result = await _bucket.InsertAsync(aboutUsMessageDoc); 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> 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())); } }
public async Task <IHttpActionResult> RegisterCompanyVehicle([FromUri] string compID, Vehicle_APTC 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 == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } var vehicleKey = "vehicle_" + model.KeyID; if (await _bucket.ExistsAsync(vehicleKey)) { //return Content(HttpStatusCode.Conflict, new Error($"Vehicle '{model.KeyID}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "170-Key ID already exists."), new JsonMediaTypeFormatter())); } // call third part api to check Vehicle is valid or not VehPlate vehPlate = new VehPlate(); if (model.VehPlate != null) { vehPlate.PlateNumber = model.VehPlate.PlateNumber; vehPlate.PlateCategory = model.VehPlate.PlateCategory; vehPlate.PlateSource = model.VehPlate.PlateSource; vehPlate.PlateCode = model.VehPlate.PlateCode; } Ownership ownership = new Ownership(); if (model.Ownership != null) { ownership.OwnershipType = model.Ownership.OwnershipType; ownership.OwnerID = model.Ownership.OwnerID; ownership.OwnerName = model.Ownership.OwnerName; ownership.LeasorName = model.Ownership.LeasorName; } List <AuditInfo> lstauditInfo = new List <AuditInfo>(); AuditInfo auditInfo = new AuditInfo(); auditInfo.Version = "1"; auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.KeyID; lstauditInfo.Add(auditInfo); CTResponse cTResponse = new CTResponse(); if (model.CTResponse != null) { cTResponse.CTStatus = false; cTResponse.CTResponseId = model.CTResponse.CTResponseId; cTResponse.CTRemarks = model.CTResponse.CTRemarks; } var vehicleDoc = new Document <Vehicle_APTC>() { Id = vehicleKey, Content = new Vehicle_APTC { //Id = vehicleKey, KeyID = model.KeyID, // This is vehicle chassNumber. DocType = model.DocType, EngineNum = model.EngineNum, NumSeats = model.NumSeats, TrafficNum = model.TrafficNum, FirstRegData = model.FirstRegData, YearManufacture = model.YearManufacture, Make = model.Make, Model = model.Model, Colour = model.Colour, VehType = model.VehType, FuelType = model.FuelType, TransType = model.TransType, IsActive = true, DisabledFriendly = model.DisabledFriendly, VehPlate = vehPlate, AuditInfo = lstauditInfo, CTResponse = cTResponse, Remarks = model.Remarks, Ownership = ownership, VehValid = false,// Third Part Verification Status = "PE" } }; var result = await _bucket.InsertAsync(vehicleDoc); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } /////////////////////////////////// add vehicle to company schema if (model.Ownership.OwnershipType == "IND") { var individualDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'individual_" + model.Ownership.OwnerID + "'").ToList(); if (individualDocument.Count > 0) { Vehicles addnewVCehicleToCompany = new Vehicles(); addnewVCehicleToCompany.VehicleID = model.KeyID; //add document code string query = @"UPDATE " + _bucket.Name + " SET vehicles = ARRAY_APPEND(vehicles, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewVCehicleToCompany).ToString() + ") where meta().id='individual_" + model.Ownership.OwnerID + "'"; var resultIndividual = _bucket.Query <object>(query); //return Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), docOutID + " has been added sucessfully"), new JsonMediaTypeFormatter()); } } else if (compID.Trim() != string.Empty) { var companyDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'company_" + compID.Trim() + "'").ToList(); if (companyDocument.Count > 0) { Vehicles addnewVCehicleToCompany = new Vehicles(); addnewVCehicleToCompany.VehicleID = model.KeyID; //add document code string query = @"UPDATE " + _bucket.Name + " SET vehicles = ARRAY_APPEND(vehicles, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewVCehicleToCompany).ToString() + ") where meta().id='company_" + compID.Trim() + "'"; var resultIndividual = _bucket.Query <object>(query); //return Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), docOutID + " has been added sucessfully"), new JsonMediaTypeFormatter()); } } ///////////////////////////////// if (ConfigurationManager.AppSettings.Get("NotificationSettingFlag") == "1") { #region Post Notification RoleCodeHODP //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeHODP; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration; objPostNotificationParameters.KeyID = model.KeyID; objPostNotificationParameters.Value = model.TrafficNum; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion #region Post Notification RoleCodeBCKO //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeBCKO; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration; objPostNotificationParameters.KeyID = model.KeyID; objPostNotificationParameters.Value = model.TrafficNum; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion } 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> UpdateVehicle(Vehicle_APTC model) { try { // Validate Model Code if (!ModelState.IsValid) { var modelErrors = new List <string>(); foreach (var modelState in ModelState.Values) { foreach (var modelError in modelState.Errors) { modelErrors.Add(modelError.ErrorMessage == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } // Validate vehicle is exist or not var vehicleDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as vehicle where meta().id='vehicle_" + model.KeyID + "' and isActive=true").ToList(); if (vehicleDocument.Count > 0) { // edit company #region fetch max audit version MessageModel msg = new MessageModel(); List <int> maxVersion = new List <int>(); var maxAuditVersion = 0; if (((Newtonsoft.Json.Linq.JToken)vehicleDocument[0]).Root["vehicle"]["auditInfo"] != null) { var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)vehicleDocument[0]).Root["vehicle"]["auditInfo"]; foreach (var itemTD in auditInfoVersion) { if (itemTD["version"] != null) { maxVersion.Add(Convert.ToInt32(itemTD["version"])); } } } if (maxVersion.Count != 0) { maxAuditVersion = maxVersion.Max() + 1; } else { maxAuditVersion = 0; } /////////////////////////// AuditInfo auditInfo = new AuditInfo(); if (maxAuditVersion != null) { auditInfo.Version = maxAuditVersion.ToString(); } else { auditInfo.Version = "0"; } auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); //auditInfo.LastChangeBy = model.Email; #endregion #region Updare Company string updatequeryString = string.Empty; updatequeryString = @"update " + _bucket.Name + " set "; updatequeryString += " docType ='" + model.DocType + "',"; updatequeryString += " engineNum ='" + model.EngineNum + "',"; updatequeryString += " numSeats ='" + model.NumSeats + "',"; updatequeryString += " trafficNum ='" + model.TrafficNum + "',"; updatequeryString += " firstRegData ='" + model.FirstRegData + "',"; updatequeryString += " yearManufacture ='" + model.YearManufacture + "',"; updatequeryString += " make ='" + model.Make + "',"; updatequeryString += " model ='" + model.Model + "',"; updatequeryString += " colour ='" + model.Colour + "',"; updatequeryString += " vehType ='" + model.VehType + "',"; updatequeryString += " fuelType ='" + model.FuelType + "',"; updatequeryString += " transType ='" + model.TransType + "',"; updatequeryString += " disabledFriendly ='" + model.DisabledFriendly + "',"; updatequeryString += " remarks ='" + model.Remarks + "',"; updatequeryString += " status ='PE',"; if (model.VehPlate != null) { updatequeryString += " vehPlate.plateNumber ='" + model.VehPlate.PlateNumber + "',"; updatequeryString += " vehPlate.plateCategory ='" + model.VehPlate.PlateCategory + "',"; updatequeryString += " vehPlate.plateSource ='" + model.VehPlate.PlateSource + "',"; updatequeryString += " vehPlate.plateCode ='" + model.VehPlate.PlateCode + "',"; } if (model.Ownership != null) { updatequeryString += " ownership.ownershipType ='" + model.Ownership.OwnershipType + "',"; updatequeryString += " ownership.ownerID ='" + model.Ownership.OwnerID + "',"; updatequeryString += " ownership.ownerName ='" + model.Ownership.OwnerName + "',"; updatequeryString += " ownership.leasorName ='" + model.Ownership.LeasorName + "',"; } updatequeryString += " auditInfo = ARRAY_APPEND( auditInfo, " + Newtonsoft.Json.JsonConvert.SerializeObject(auditInfo).ToString() + ")"; updatequeryString += " where meta().id='vehicle_" + model.KeyID + "'"; var result = _bucket.Query <object>(updatequeryString); return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), model.KeyID + " has been updated sucessfully"), new JsonMediaTypeFormatter())); #endregion } else { return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.NotFound, "vehicle does not exist"), new JsonMediaTypeFormatter())); } } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> UpdateEmployee(Individual model) { try { // Validate Model if (model.fullName == null) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name is required"), new JsonMediaTypeFormatter())); } else { if (string.IsNullOrEmpty(model.fullName.Ar_SA) && string.IsNullOrEmpty(model.fullName.En_US)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name 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 == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } string query = @"SELECT * From " + _bucket.Name + " as Employee where meta().id like'individual_%' and email= '" + model.Email + "'"; var userDocument = _bucket.Query <object>(query).ToList(); if (userDocument.Count > 0) { //return Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "EmiratiID already exists"), new JsonMediaTypeFormatter()); ///////////////////////// edit API Code 27-Aug-2018 #region fetch max audit version MessageModel msg = new MessageModel(); List <int> maxVersion = new List <int>(); var maxAuditVersion = 0; if (((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Employee"]["auditInfo"] != null) { var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Employee"]["auditInfo"]; foreach (var itemTD in auditInfoVersion) { if (itemTD["version"] != null) { maxVersion.Add(Convert.ToInt32(itemTD["version"])); } } } if (maxVersion.Count != 0) { maxAuditVersion = 1 + maxVersion.Max(); } else { maxAuditVersion = 0; } /////////////////////////// AuditInfo auditInfo = new AuditInfo(); if (maxAuditVersion != null) { auditInfo.Version = maxAuditVersion.ToString(); } else { auditInfo.Version = "0"; } auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.Email; #endregion #region Updare Employee string updatequeryString = string.Empty; updatequeryString = @"update " + _bucket.Name + " set "; updatequeryString += " dob ='" + model.DOB + "',"; updatequeryString += " gender ='" + model.Gender + "',"; updatequeryString += " profilePhoto.docFormat ='" + model.ProfilePhoto.DocFormat + "',"; updatequeryString += " profilePhoto.photo ='" + model.ProfilePhoto.Photo + "',"; updatequeryString += " profilePhoto.validFrom ='" + DataConversion.ConvertYMDHMS(DateTime.Now.ToString()) + "',"; updatequeryString += " profilePhoto.validTo ='" + DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString()) + "',"; updatequeryString += " language ='" + model.Language + "',"; updatequeryString += " maritalStatus ='" + model.MaritalStatus + "',"; /////// full Name if (model.fullName != null) { updatequeryString += " fullName.en_US ='" + model.fullName.En_US + "',"; updatequeryString += " fullName.ar_SA ='" + model.fullName.Ar_SA + "',"; } /////// Tel Num if (model.MobNum != null) { updatequeryString += " mobNum.countryCodeM ='" + model.MobNum.CountryCodeM + "',"; updatequeryString += " mobNum.numM ='" + model.MobNum.NumM + "',"; updatequeryString += " mobNum.areaM ='" + model.MobNum.AreaM + "',"; } /////// Tel Num if (model.TelNum != null) { updatequeryString += " telNum.countryCodeT ='" + model.TelNum.CountryCodeT + "',"; updatequeryString += " telNum.numT ='" + model.TelNum.NumT + "',"; updatequeryString += " telNum.areaT ='" + model.TelNum.AreaT + "',"; } ////// Address if (model.Address != null) { updatequeryString += " address.city ='" + model.Address.City + "',"; updatequeryString += " address.state ='" + model.Address.State + "',"; updatequeryString += " address.area ='" + model.Address.Area + "',"; updatequeryString += " address.street ='" + model.Address.Street + "',"; updatequeryString += " address.bldgNum ='" + model.Address.BldgNum + "',"; updatequeryString += " address.flatNum ='" + model.Address.FlatNum + "',"; } //// Status if (model.Status != null) { updatequeryString += " status.statusID ='" + model.Status.StatusID + "',"; updatequeryString += " status.dateTime ='" + DataConversion.ConvertYMDHMS(DateTime.Now.ToString()) + "',"; } updatequeryString += " email ='" + model.Email + "',"; updatequeryString += " notes ='" + model.Notes + "',"; updatequeryString += " religion ='" + model.Religion + "',"; updatequeryString += "roles=[],"; updatequeryString += "auditInfo = ARRAY_APPEND( auditInfo, " + Newtonsoft.Json.JsonConvert.SerializeObject(auditInfo).ToString() + ")"; updatequeryString += " where keyID = '" + model.KeyID + "'"; var result = _bucket.Query <object>(updatequeryString); query = @"select roles[0] from " + _bucket.Name + " where keyID = '" + model.KeyID + "'"; foreach (var item in model.Roles) { var queryUpdateOtherRoles = @"update `APTCCRM` SET roles= ARRAY_APPEND( roles, " + Newtonsoft.Json.JsonConvert.SerializeObject(item).ToString() + " ) where keyID = '" + model.KeyID + "'"; _bucket.Query <object>(queryUpdateOtherRoles); } return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Update, model.Email), new JsonMediaTypeFormatter())); #endregion } else { return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.NotFound, ""), new JsonMediaTypeFormatter())); } } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> Register(DriverModel model) { //Modified by Arvind 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-Either aribac name or english name is required"), new JsonMediaTypeFormatter())); } string destinationPath = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings.Get("FilePath")); destinationPath = destinationPath + "/driver"; string root = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings.Get("TempFilePath")); var tempPath = Path.GetTempPath(); 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 driverId = "Driver_" + model.EmiratiId; var driverDocumentEmirati = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where meta().id= 'Driver_" + model.EmiratiId + "'").ToList(); var driverDocumentEmail = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where emailAddress= '" + model.EmailAddress + "'").ToList(); if (Convert.ToDateTime(model.LicenseExpiryDate) <= Convert.ToDateTime(model.LicenseIssueDate)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "164-license expiry date should be greater than license issue date"), new JsonMediaTypeFormatter())); } if (driverDocumentEmirati.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "165-Emirati Id already exists"), new JsonMediaTypeFormatter())); } if (driverDocumentEmail.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter())); } bool isDriverValid = true; string password = Guid.NewGuid().ToString("d").Substring(1, 4); var driverDoc = new Document <DriverModel>() { Id = driverId, Content = new DriverModel { EmiratiId = model.EmiratiId, NameEN = model.NameEN, NameAR = model.NameAR, Action = "Add", DriverValid = isDriverValid.ToString(), EmailAddress = model.EmailAddress, LicenseNumber = model.LicenseNumber, PassportNumber = model.PassportNumber, MobileNumber = model.MobileNumber, PermitNumber = model.PermitNumber, Photo = model.Photo, VehicleType = model.VehicleType, LicenseIssueDate = DataConversion.ConvertYMDHMS(model.LicenseIssueDate), LicenseExpiryDate = DataConversion.ConvertYMDHMS(model.LicenseExpiryDate), Password = password, IsActive = true, IsDeleted = false, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = model.Created_By,//model.EmailAddress, Franchise = model.Franchise, HotelPickup = model.HotelPickup, CarTrackDriverResponse = new CarTrackDriverResponse { CTStatus = "No", CTDescription = string.Empty } } }; var result = await _bucket.InsertAsync(driverDoc); 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())); } }
public async Task <IHttpActionResult> InsertUser(Login model) { //string ppp = EncryptDecryptString.DecodePasswordToFrom64("MTIzNDU2OTk5"); try { if (string.IsNullOrEmpty(model.Name)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-name is required"), new JsonMediaTypeFormatter())); } if (string.IsNullOrEmpty(model.Email)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "112-email is required"), new JsonMediaTypeFormatter())); } if (string.IsNullOrEmpty(model.Password)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "158-Password is required"), new JsonMediaTypeFormatter())); } var userDocumentEmail = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where email= '" + model.Email + "' and isActive=true and isActive=true and meta().id like'%login_%'").ToList(); if (userDocumentEmail.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter())); } if (model.MobNum == null) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "199-mobnum is required"), new JsonMediaTypeFormatter())); } else { if (string.IsNullOrEmpty(model.MobNum.AreaM)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "200-areaM is required"), new JsonMediaTypeFormatter())); } if (string.IsNullOrEmpty(model.MobNum.NumM)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "201-NumM is required"), new JsonMediaTypeFormatter())); } if (string.IsNullOrEmpty(model.MobNum.CountryCodeM)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "202-CountryCodeM is required"), new JsonMediaTypeFormatter())); } } if (model.Roles == null) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "203-roles is required"), new JsonMediaTypeFormatter())); } else { if (string.IsNullOrEmpty(model.Roles.PrimaryRole)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "204-PrimaryRole is required"), new JsonMediaTypeFormatter())); } if (model.Roles.OtherRoles == null) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "205-OtherRoles is required"), new JsonMediaTypeFormatter())); } } var userDocumentPhone = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where " + _bucket.Name + ".mobNum.num= '" + model.MobNum.NumM + "' and isActive=true and meta().id like'%login_%'").ToList(); if (userDocumentPhone.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "Mobile number already exists"), new JsonMediaTypeFormatter())); } try { List <PrevPassword> prevPassword = new List <PrevPassword>(); var loginDocumentId = "login_" + Guid.NewGuid(); MobNum mobNum = new MobNum(); mobNum.CountryCodeM = model.MobNum.CountryCodeM; mobNum.NumM = model.MobNum.NumM; mobNum.AreaM = model.MobNum.AreaM; TelNum telNum = new TelNum(); if (model.TelNum != null) { telNum.CountryCodeT = model.TelNum.CountryCodeT; telNum.NumT = model.TelNum.NumT; telNum.AreaT = model.TelNum.AreaT; } var loginDocument = new Document <Login>() { Id = loginDocumentId, Content = new Login { Lang = model.Lang, DocType = "user", Name = model.Name, PassSetDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Password = EncryptDecryptString.EncodePasswordToBase64(model.Password), Email = model.Email, EmirateId = model.EmirateId, //Mobile = model.Mobile, MobNum = mobNum, TelNum = telNum, Department = model.Department, Roles = model.Roles, PrevPass = prevPassword, IsActive = true, Created_By = model.Email, UserPhoto = model.UserPhoto, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), }, }; var result = _bucket.Insert(loginDocument); if (!result.Success) { //_bucket.Remove(loginResult.Document.Content.Email); 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.Content.Email), new JsonMediaTypeFormatter())); } catch (Exception ex) { //_bucket.Remove(result.Document.Id); return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.Message), new JsonMediaTypeFormatter())); } //} // return Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result..Id), new JsonMediaTypeFormatter()); //} } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> Register(DocOut model) { try { // DocRef,docFile,DocImage,DocType,Lang 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())); } bool status = false; string ValidFrom = string.Empty; string ValidTo = string.Empty; string DocClass = string.Empty; var maxDocVersion = 0; if (model.DocType.ToString().ToLower() == "profilephoto") { status = true; string updateQuery = @"SELECT * From " + _bucket.Name + " as Users where meta().id ='" + model.IndivID + "'"; var userDocument = _bucket.Query <object>(updateQuery).ToList(); if (userDocument.Count > 0) { List <int> maxVersion = new List <int>(); if (((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"] != null) { var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"]; foreach (var itemTD in auditInfoVersion) { if (itemTD["version"] != null) { maxVersion.Add(Convert.ToInt32(itemTD["version"])); } } } if (maxVersion.Count != 0) { maxDocVersion = 1 + maxVersion.Max(); } else { maxDocVersion = 1; } } if (maxDocVersion == 0) { maxDocVersion = 1; } DocClass = "uploadprofilephoto"; ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); ValidTo = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString()); } else { status = true; if (string.IsNullOrEmpty(model.ValidFrom)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "190-document valid from is required"), new JsonMediaTypeFormatter())); } if (string.IsNullOrEmpty(model.ValidTo)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "191-document valid to is required"), new JsonMediaTypeFormatter())); } ValidFrom = model.ValidFrom; ValidTo = model.ValidTo; } DocContent docContent = new DocContent(); if (model.DocContent != null) { docContent.Duration = model.DocContent.Duration; docContent.Fees = model.DocContent.Fees; } List <DocFile> lstDocFile = new List <DocFile>(); if (model.DocFile != null) { foreach (var df in model.DocFile) { DocFile docFile = new DocFile(); docFile.DocFormat = df.DocFormat; docFile.DocImage = df.DocImage; lstDocFile.Add(docFile); } } var docOutID = "PERMIT_" + GenerateRandamNumber(); var docOutDocument = new Document <DocOut>() { Id = docOutID, Content = new DocOut { DocType = model.DocType.ToLower(), Version = maxDocVersion, DocRef = model.DocRef, Lang = model.Lang, Status = status, DateTime = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), DocClass = model.DocClass, ValidTo = ValidTo, ValidFrom = ValidFrom, RejReas = "", IndivID = model.IndivID, VehID = model.VehID, CompID = model.CompID, DocContent = docContent, DocFile = lstDocFile, DocAccepted = "PE" }, }; var result = await _bucket.InsertAsync(docOutDocument); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } if (ConfigurationManager.AppSettings.Get("NotificationSettingFlag") == "1") { #region Post Notification RoleCodeHODP //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeHODP; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.PermitRequest; objPostNotificationParameters.KeyID = docOutID; //docOutDocument.KeyID; objPostNotificationParameters.Value = model.DocRef; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion #region Post Notification RoleCodeBCKO //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeBCKO; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.PermitRequest; objPostNotificationParameters.KeyID = docOutID; //docOutDocument.KeyID; objPostNotificationParameters.Value = model.DocRef; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion } /////////////////////////////////// add document in IndivID if (model.IndivID.Trim() != string.Empty) { string query1 = @"SELECT * From " + _bucket.Name + " as Individual where meta().id= 'individual_" + model.IndivID.Trim() + "'"; var individualDocument = _bucket.Query <object>(query1).ToList(); if (individualDocument.Count > 0) { Documents addnewDocument = new Documents(); addnewDocument.DocumentID = docOutID; // add document code string query = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='individual_" + model.IndivID.Trim() + "'"; var resultIndividual = _bucket.Query <object>(query); } } /////////////////////////////////// /////////////////////////////////// add document in CompID if (model.CompID.Trim() != string.Empty) { var companyDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'company_" + model.CompID.Trim() + "'").ToList(); if (companyDocument.Count > 0) { Documents addnewDocument = new Documents(); addnewDocument.DocumentID = docOutID; // add document code string query = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='company_" + model.CompID.Trim() + "'"; var resultIndividual = _bucket.Query <object>(query); } } ///////////////////////////////// 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> Journey(Journey 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())); } var pickupDate = Convert.ToDateTime(DataConversion.ConvertYMDHMS(model.PickupDateTime)); var currentDate = Convert.ToDateTime(DataConversion.ConvertYMDHMS(DateTime.Now.ToString())); if (pickupDate > currentDate) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "168-Date cannot be in the future"), new JsonMediaTypeFormatter())); } var journeyDoc = new Document <Journey>() { Id = CreateUserKey(), Content = new Journey { BookingId = CreateUserKey(), //Booking ID in CT PassengerID = model.PassengerID, //Either a reference to a registered passenger or else “Anonymous” denoting a non-registered passenger DestinationAddress = model.DestinationAddress, DestinationLat = model.DestinationLat, DestinationLon = model.DestinationLon, DriverID = model.DriverID, NumPassengers = model.NumPassengers, PickupAddress = model.PickupAddress, PickupDateTime = model.PickupDateTime, PickupLat = model.PickupLat, PickupLon = model.PickupLon, VehicleID = model.VehicleID, TaxiType = model.TaxiType, Waypoints = model.Waypoints, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()) } }; //IBucket _bucketperformance = ClusterHelper.GetBucket("DriverTrip"); var result = await _bucket.InsertAsync(journeyDoc); 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 IHttpActionResult GetDriver(string id) { string keyValue = string.Empty; //var userDocument1 = _bucket.Query<object>(@"SELECT keyID ID,name.en_US NameEN,name.ar_SA NameAR,email EmailAddress From " + _bucket.Name + " as Driver where meta().id= '" + id + "'").ToList(); var userDocument1 = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Driver where meta().id= '" + id + "'").ToList(); //var dict = JsonConvert.SerializeObject(userDocument1.Rows); //var dict1 = JsonConvert.DeserializeObject<object>(dict); //var jsonObj = JObject.Parse(dict); //var values = (JArray)jsonObj["value"]; string Action = string.Empty; Action = "ADD"; string Password = string.Empty; //Password = "******"; string Username = string.Empty; //Username = "******"; var ID = string.Empty; var NameEN = string.Empty; var NameAR = string.Empty; var MobileNumber = string.Empty; var EmailAddress = string.Empty; var DriverValid = string.Empty; var Franchise = string.Empty; var vehiclesTypeValue = string.Empty; var LicenseNumber = string.Empty; var PermitNumber = string.Empty; var PassportNumber = string.Empty; var Photo = string.Empty; foreach (var item1 in userDocument1) { // keyID - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"] != null) { ID = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"].ToString().Split('_')[1]; } var objLoginDetails = _loginbucket.Query <object>(@"SELECT * From " + _loginbucket.Name + " as Login where meta().id= 'Login_" + ID + "'").ToList(); foreach (var loginItem in objLoginDetails) { if (((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["userId"] != null) { Username = ((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["userId"].ToString(); } if (((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["password"] != null) { Password = ((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["password"].ToString(); } } // = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"]; //var = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"]; //name-en_US- Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["en_US"] != null) { NameEN = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["en_US"].ToString(); } //name-ar_SA - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["ar_SA"] != null) { NameAR = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["ar_SA"].ToString(); } //photo - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["profilePhoto"] != null) { Photo = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["profilePhoto"].ToString(); } //mobNum-num - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["mobNum"]["numM"] != null) { MobileNumber = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["mobNum"]["numM"].ToString(); } // email - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["email"] != null) { EmailAddress = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["email"].ToString(); } //auditInfo-status - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["auditInfo"]["status"] != null) { DriverValid = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["auditInfo"]["status"].ToString(); } //////////////////////////////////////////////// //roles-link-linkID var FranchiseType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["roles"]; foreach (var item in FranchiseType) { if (item["roleID"].ToString().Contains("CompanyOwner")) { if (item["link"]["name"] != null) { Franchise = item["link"]["name"].ToString(); } } } //vehicles-vehType var vehiclesType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["vehicles"]; foreach (var item in vehiclesType) { if (item["status"].ToString().Contains("true")) { if (item["vehType"] != null) { vehiclesTypeValue = item["vehType"].ToString(); } } } // Fetch Data from document Type var docType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["documents"]; foreach (var item in docType) { if (item["documentID"].ToString().Contains("license")) { //documents-type ("documentID": "license") if (item["number"] != null) { LicenseNumber = item["number"].ToString(); } } if (item["documentID"].ToString().Contains("permit")) { //documents-type ("documentID": "permit") if (item["number"] != null) { PermitNumber = item["number"].ToString(); } } if (item["documentID"].ToString().Contains("passport")) { //documents-type ("documentID": "passport") if (item["number"] != null) { PassportNumber = item["number"].ToString(); } } } } var driverList = new List <string>(); var dData = new DriverModel { ID = "Driver_" + ID, NameEN = NameEN, NameAR = NameAR, Action = Action, DriverValid = DriverValid, EmailAddress = EmailAddress, LicenseNumber = LicenseNumber, PassportNumber = PassportNumber, MobileNumber = MobileNumber, PermitNumber = PermitNumber, Photo = Photo, VehicleType = vehiclesTypeValue, Username = Username, Password = Password, Franchise = Franchise, IsActive = true, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = EmailAddress, CarTrackDriverResponse = new CarTrackDriverResponse { CTStatus = "No", CTDescription = string.Empty } }; return(Content(HttpStatusCode.OK, dData)); }
public IHttpActionResult GetAllDriver() { #region private values string keyValue = string.Empty; string Action = string.Empty; Action = "ADD"; string Password = string.Empty; //Password = "******"; string Username = string.Empty; //Username = "******"; var ID = string.Empty; var NameEN = string.Empty; var NameAR = string.Empty; var MobileNumber = string.Empty; var EmailAddress = string.Empty; var DriverValid = string.Empty; var Franchise = string.Empty; var vehiclesTypeValue = string.Empty; var LicenseNumber = string.Empty; var PermitNumber = string.Empty; var PassportNumber = string.Empty; var Photo = string.Empty; var driverList = new List <DriverModel>(); bool isThisTaxiDriver; #endregion var userDocument1 = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Driver where meta().id LIKE 'individual_%'").ToList(); foreach (var item1 in userDocument1) { isThisTaxiDriver = false; if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["roles"] != null) { //roles-roleID var taxiDriverType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["roles"]; foreach (var itemTD in taxiDriverType) { if (itemTD["roleID"].ToString().ToLower().Contains("taxidriver")) { isThisTaxiDriver = true; } } } if (isThisTaxiDriver == true) { // keyID - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"] != null) { ID = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"].ToString().Split('_')[1]; } // email - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["email"] != null) { EmailAddress = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["email"].ToString(); } var objLoginDetails = _loginbucket.Query <object>(@"SELECT * From " + _loginbucket.Name + " as Login where meta().id= 'Login_" + EmailAddress + "'").ToList(); foreach (var loginItem in objLoginDetails) { if (((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["userId"] != null) { Username = ((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["userId"].ToString(); } if (((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["password"] != null) { Password = ((Newtonsoft.Json.Linq.JToken)loginItem).Root["Login"]["password"].ToString(); } } // = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"]; //var = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["keyID"]; //name-en_US- Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["en_US"] != null) { NameEN = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["en_US"].ToString(); } //name-ar_SA - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["ar_SA"] != null) { NameAR = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["name"]["ar_SA"].ToString(); } //mobNum-num - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["mobNum"]["num"] != null) { MobileNumber = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["mobNum"]["num"].ToString(); } //auditInfo-status - Done if (((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["auditInfo"]["status"] != null) { DriverValid = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["auditInfo"]["status"].ToString(); } //////////////////////////////////////////////// //roles-link-linkID var FranchiseType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["roles"]; foreach (var item in FranchiseType) { if (item["roleID"].ToString().ToLower().Contains("companyowner")) { if (item["link"]["name"] != null) { Franchise = item["link"]["name"].ToString(); } } } //vehicles-vehType var vehiclesType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["vehicles"]; foreach (var item in vehiclesType) { if (item["status"].ToString().Contains("true")) { if (item["vehType"] != null) { vehiclesTypeValue = item["vehType"].ToString(); } } } // Fetch Data from document Type var docType = ((Newtonsoft.Json.Linq.JToken)item1).Root["Driver"]["documents"]; foreach (var item in docType) { if (item["documentID"].ToString().Contains("license")) { //documents-type ("documentID": "license") if (item["type"] != null) { LicenseNumber = item["type"].ToString(); } } if (item["documentID"].ToString().Contains("permit")) { //documents-type ("documentID": "permit") if (item["type"] != null) { PermitNumber = item["type"].ToString(); } } if (item["documentID"].ToString().Contains("passport")) { //documents-type ("documentID": "passport") if (item["type"] != null) { PassportNumber = item["type"].ToString(); } } //if (item["documentID"].ToString().Contains("photo")) //{ // //documents-type ("documentID": "photo") // if (item["type"] != null) // { // Photo = item["type"].ToString(); // } //} } var dData = new DriverModel { ID = "Driver_" + ID, NameEN = NameEN, NameAR = NameAR, Action = Action, DriverValid = DriverValid, EmailAddress = EmailAddress, LicenseNumber = LicenseNumber, PassportNumber = PassportNumber, MobileNumber = MobileNumber, PermitNumber = PermitNumber, Photo = Photo, VehicleType = vehiclesTypeValue, Username = Username, Password = Password, Franchise = Franchise, IsActive = true, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = EmailAddress, CarTrackDriverResponse = new CarTrackDriverResponse { CTStatus = "No", CTDescription = string.Empty } }; driverList.Add(dData); ////////////// End if } } return(Content(HttpStatusCode.OK, driverList)); }
public async Task <IHttpActionResult> Register(List <DocIn> lstDoc) { try { // DocRef,docFile,DocImage,DocType,Lang foreach (var model in lstDoc) { 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())); } bool status = false; string ValidFrom = string.Empty; string ValidTo = string.Empty; string DocClass = string.Empty; var maxDocVersion = 0; if (model.DocType.ToString().ToLower() == "profilephoto") { status = true; string updateQuery = @"SELECT * From " + _bucket.Name + " as Users where meta().id ='" + model.IndivID + "'"; var userDocument = _bucket.Query <object>(updateQuery).ToList(); if (userDocument.Count > 0) { List <int> maxVersion = new List <int>(); if (((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"] != null) { var auditInfoVersion = ((Newtonsoft.Json.Linq.JToken)userDocument[0]).Root["Users"]["documents"]; foreach (var itemTD in auditInfoVersion) { if (itemTD["version"] != null) { maxVersion.Add(Convert.ToInt32(itemTD["version"])); } } } if (maxVersion.Count != 0) { maxDocVersion = 1 + maxVersion.Max(); } else { maxDocVersion = 1; } } if (maxDocVersion == 0) { maxDocVersion = 1; } DocClass = model.DocClass; ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); ValidTo = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString()); } else { status = false; if (string.IsNullOrEmpty(model.ValidFrom)) { //return Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "190-document valid from is required"), new JsonMediaTypeFormatter()); } if (string.IsNullOrEmpty(model.ValidTo)) { //return Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "191-document valid to is required"), new JsonMediaTypeFormatter()); } ValidFrom = model.ValidFrom; ValidTo = model.ValidTo; } DocContent docContent = new DocContent(); if (model.DocContent != null) { docContent.Duration = model.DocContent.Duration; docContent.Fees = model.DocContent.Fees; } List <DocFile> lstDocFile = new List <DocFile>(); if (model.DocFile != null) { foreach (var df in model.DocFile) { DocFile docFile = new DocFile(); docFile.DocFormat = df.DocFormat; docFile.DocImage = df.DocImage; lstDocFile.Add(docFile); } } var docID = "DOCIN_" + GenerateRandamNumber(); var docInDocument = new Document <DocIn>() { Id = docID, Content = new DocIn { DocType = model.DocType.ToLower(), Version = maxDocVersion, DocRef = model.DocRef, Lang = model.Lang, Status = false, DateTime = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), DocClass = model.DocClass, ValidTo = ValidTo, ValidFrom = ValidFrom, RejReas = "", IndivID = model.IndivID, VehID = model.VehID, CompID = model.CompID, DocContent = docContent, DocFile = lstDocFile, Id = model.Id, IssueDate = model.IssueDate, ExpiryDate = model.ExpiryDate, Place = model.Place, Categories = model.Categories }, }; var result = await _bucket.InsertAsync(docInDocument); //if (!result.Success) //{ // return Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter()); //} /////////////////////////////////// add document in IndivID if (model.IndivID.Trim() != string.Empty) { string query1 = @"SELECT * From " + _bucket.Name + " as Individual where meta().id= 'individual_" + model.IndivID.Trim() + "'"; var individualDocument = _bucket.Query <object>(query1).ToList(); if (individualDocument.Count > 0) { Documents addnewDocument = new Documents(); addnewDocument.DocumentID = docID; // add document code string query = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='individual_" + model.IndivID.Trim() + "'"; var resultIndividual = _bucket.Query <object>(query); } } /////////////////////////////////// add document in CompID if (model.CompID != null) { if (model.CompID.Trim() != string.Empty) { var companyDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as Company where meta().id= 'company_" + model.CompID.Trim() + "'").ToList(); if (companyDocument.Count > 0) { Documents addnewDocument = new Documents(); addnewDocument.DocumentID = docID; // add document code string query = @"UPDATE " + _bucket.Name + " SET documents = ARRAY_APPEND(documents, " + Newtonsoft.Json.JsonConvert.SerializeObject(addnewDocument).ToString() + ") where meta().id='company_" + model.CompID.Trim() + "'"; var resultIndividual = _bucket.Query <object>(query); } } } } ///////////////////////////////// return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), "Documents uploaded sucessfully"))); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> UpdateAboutUs([FromUri] string id, AboutUs 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())); } // add document code string query = @"UPDATE " + _bucket.Name + " SET contents = '" + model.Contents + "',modify_On= '" + DataConversion.ConvertYMDHMS(DateTime.Now.ToString()) + "' where meta().id='" + id + "'"; var result = _bucket.Query <object>(query); return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), id + " has been updated sucessfully"), new JsonMediaTypeFormatter())); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> Register(Company model) { var serializer = new JavaScriptSerializer(); try { string keyId = "company_" + model.Email; var userDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where keyID= '" + keyId + "'").ToList(); if (userDocument.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "The e-mail already exists"), 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); modelErrors.Add(modelError.ErrorMessage == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } var userDocumentPhone = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where " + _bucket.Name + ".mobNum.num= '" + model.MobNum.NumM + "'").ToList(); if (userDocumentPhone.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "104-Mobile number already exists"), new JsonMediaTypeFormatter())); } MobNum mobNum = new MobNum(); mobNum.CountryCodeM = model.MobNum.CountryCodeM; mobNum.NumM = model.MobNum.NumM; TelNum telNum = new TelNum(); telNum.CountryCodeT = model.TelNum.CountryCodeT; telNum.NumT = model.TelNum.NumT; AuditInfo auditInfo = new AuditInfo(); auditInfo.Version = "1"; auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString());; auditInfo.LastChangeBy = model.Email; List <Roles> lstRoles = new List <Roles>(); foreach (var role in model.Roles) { Roles roles = new Roles(); roles.RoleID = role.RoleID; roles.Link = role.Link; lstRoles.Add(roles); } /*List<CompanyRoles> lstRoles = new List<CompanyRoles>(); * * foreach (var role in model.Roles) * { * CompanyRoles roles = new CompanyRoles(); * roles.RoleID = role.RoleID; * roles.Link = role.Link; * lstRoles.Add(roles); * }*/ List <Fines> lstFines = new List <Fines>(); foreach (var fine in model.Fines) { Fines fines = new Fines(); fines.FineID = fine.FineID; fines.DateTime = fine.DateTime; fines.Amount = fine.Amount; fines.Status = fine.Status; fines.Remark = fine.Remark; lstFines.Add(fines); } List <Documents> lstDocuments = new List <Documents>(); foreach (var document in model.Documents) { Documents addnewDocument = new Documents(); addnewDocument.DocumentID = document.DocumentID; addnewDocument.Type = document.Type; addnewDocument.Version = document.Version; addnewDocument.ExpDate = document.ExpDate; addnewDocument.DocStatus = document.DocStatus; lstDocuments.Add(document); } List <Vehicles> lstVehicles = new List <Vehicles>(); foreach (var vehicle in model.Vehicles) { Vehicles vehicles = new Vehicles(); vehicles.VehicleID = vehicle.VehicleID; vehicles.Make = vehicle.Make; vehicles.ModelYear = vehicle.ModelYear; vehicles.VehType = vehicle.VehType; vehicles.Status = vehicle.Status; lstVehicles.Add(vehicles); } CompanyAddress address = new CompanyAddress(); address.City = model.Address.City; address.Zip = model.Address.Zip; address.State = model.Address.State; address.Country = model.Address.Country; Line line = new Line(); line.Line1 = model.Address.Line.Line1; line.Line2 = model.Address.Line.Line2; address.Line = line; FullName fullname = new FullName(); fullname.En_US = model.fullName.En_US; fullname.Ar_SA = model.fullName.Ar_SA; var eotp = GenerateOtp(); var motp = GenerateOtp(); sendEmail.SendOtpViaEmail(model.Email, fullname.En_US, eotp); SendOtpViaMobile(model.MobNum, motp); string password = Guid.NewGuid().ToString("d").Substring(1, 4); var companyDoc = new Document <Company>() { Id = "company_" + model.Email, Content = new Company { KeyID = "company_" + model.Email, fullName = fullname, Fines = lstFines, MobNum = mobNum, AuditInfo = auditInfo, Vehicles = lstVehicles, Roles = lstRoles, TelNum = model.TelNum, DocType = model.DocType, Documents = lstDocuments, Email = model.Email, Address = address, Website = model.Website }, }; var result = await _bucket.InsertAsync(companyDoc); if (!result.Success) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), result.Message), new JsonMediaTypeFormatter())); } else { 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> RegisterDriverStatus(RoadsideAssistanceModel 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())); } var userKey = "RoadSideAssistance_" + model.PassengerID; if (await _bucket.ExistsAsync(userKey)) { //return Content(HttpStatusCode.Conflict, new Error($"RoadSideAssistance '{model.PassengerID}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "169-Passenger ID already exists"), new JsonMediaTypeFormatter())); } AuditInfo auditInfo = new AuditInfo(); if (model.AuditInfo != null) { auditInfo.Version = model.AuditInfo.Version; auditInfo.Status = model.AuditInfo.Status; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.AuditInfo.LastChangeBy; } var roadSideAssistanceMessageDoc = new Document <RoadsideAssistanceModel>() { Id = userKey, Content = new RoadsideAssistanceModel { PassengerID = model.PassengerID, MobileNumber = model.MobileNumber, Latitude = model.Latitude, Longitude = model.Longitude, ServiceRequired = model.ServiceRequired, Comments = model.Comments, AuditInfo = auditInfo } }; var result = await _bucket.InsertAsync(roadSideAssistanceMessageDoc); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } RoadSideAssistanceResponse roadSideAssistanceResponse = new RoadSideAssistanceResponse(); roadSideAssistanceResponse.RequestRefID = result.Document.Id; roadSideAssistanceResponse.Message = "message by CT"; roadSideAssistanceResponse.Telephone = "1800-6000-123456"; var jsonRSAR = JSONHelper.ToJSON(roadSideAssistanceResponse); return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), jsonRSAR))); //return Content(HttpStatusCode.OK, roadSideAssistanceResponse); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> Register(DriverModel model) { //Modified by Arvind 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())); } string destinationPath = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings.Get("FilePath")); destinationPath = destinationPath + "/driver"; string root = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings.Get("TempFilePath")); var tempPath = Path.GetTempPath(); 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 driverId = "Driver_" + model.ID; var driverDocumentEmirati = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where id= '" + model.ID + "'").ToList(); var driverDocumentEmail = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where emailAddress= '" + model.EmailAddress + "'").ToList(); if (model.Action == "Add") { if (driverDocumentEmirati.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "165-Emirati Id already exists"), new JsonMediaTypeFormatter())); } if (driverDocumentEmail.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter())); } } bool isDriverValid = true; string password = Guid.NewGuid().ToString("d").Substring(1, 4); var driverDoc = new Document <DriverModel>() { Id = driverId, Content = new DriverModel { ID = model.ID, NameEN = model.NameEN, NameAR = model.NameAR, Action = model.Action, DriverValid = isDriverValid.ToString(), EmailAddress = model.EmailAddress, LicenseNumber = model.LicenseNumber, PassportNumber = model.PassportNumber, MobileNumber = model.MobileNumber, PermitNumber = model.PermitNumber, Photo = model.Photo, VehicleType = model.VehicleType, Password = password, Franchise = model.Franchise, IsActive = true, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Created_By = model.EmailAddress, CarTrackDriverResponse = new CarTrackDriverResponse { CTStatus = "No", CTDescription = string.Empty } } }; if (model.Action == "Add") { var result = await _bucket.InsertAsync(driverDoc); 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())); } else if (model.Action == "MOD") { string queryString = @" update " + _bucket.Name + " set nameEN ='" + model.NameEN + "',nameAR = '" + model.NameAR + "',action ='" + model.Action + "', emailAddress = '" + model.EmailAddress + "',licenseNumber = '" + model.LicenseNumber + "' , passportNumber = '" + model.PassportNumber + "' ,mobileNumber = '" + model.MobileNumber + "' , permitNumber = '" + model.PermitNumber + "',vehicleType = '" + model.VehicleType + "',carTrackDriverResponse.ctStatus='No',carTrackDriverResponse.ctDescription='',modifiedDate='" + DateTime.Now.ToString() + "' where meta().id= 'Driver_" + model.ID + "'"; var result = await _bucket.QueryAsync <DriverModel>(queryString); if (!result.Success) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "Data has not been updated."), new JsonMediaTypeFormatter())); } return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Update, model.ID.ToLower() + " updated successfully"), new JsonMediaTypeFormatter())); } return(null); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> Register(License 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())); } var driverlicenceId = "DriverLicence_" + model.ID; var driverlicenceDocumentEmirati = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where ID= '" + model.ID + "'").ToList(); if (Convert.ToDateTime(model.ExpiryDate) <= Convert.ToDateTime(model.IssueDate)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "164-license expiry date should be breater than license issue date"), new JsonMediaTypeFormatter())); } if (model.Action == "ADD") { if (driverlicenceDocumentEmirati.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "165-Emirati Id already exists"), new JsonMediaTypeFormatter())); } } if (model.Action == "ADD") { var driverLicenseDoc = new Document <License>() { Id = driverlicenceId, Content = new License { ID = model.ID, Action = model.Action, LicenseNumber = model.LicenseNumber, IssueDate = DataConversion.ConvertYMDHMS(model.IssueDate), ExpiryDate = DataConversion.ConvertYMDHMS(model.ExpiryDate), HotelPickup = model.HotelPickup, IsActive = true, Created_On = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), } }; var result = await _bucket.InsertAsync(driverLicenseDoc); 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())); } else if (model.Action == "MOD") { string queryString = @" update " + _bucket.Name + " set action ='" + model.Action + "', licenseNumber = '" + model.LicenseNumber + "',modifiedDate='" + DateTime.Now.ToString() + "' where id= '" + model.ID + "'"; var result = await _bucket.QueryAsync <DriverModel>(queryString); if (!result.Success) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "Data has not been updated."), new JsonMediaTypeFormatter())); } return(Content(HttpStatusCode.Accepted, model.ID + " updated successfully")); } return(null); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> RegisterDriverStatus(SawariBookingModel 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())); } var userKey = "SawariBooking_" + model.PassengerID; if (await _bucket.ExistsAsync(userKey)) { //return Content(HttpStatusCode.Conflict, new Error($"SawariBooking '{model.PassengerID}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "169-Passenger ID already exists."), new JsonMediaTypeFormatter())); } AuditInfo auditInfo = new AuditInfo(); if (model.AuditInfo != null) { auditInfo.Version = model.AuditInfo.Version; auditInfo.Status = model.AuditInfo.Status; auditInfo.Remarks = model.AuditInfo.Remarks; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.AuditInfo.LastChangeBy; auditInfo.DateCreated = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.CreatedBy = model.AuditInfo.CreatedBy; } var sawariBookingModelMessageDoc = new Document <SawariBookingModel>() { Id = userKey, Content = new SawariBookingModel { PassengerID = model.PassengerID, MobileNumber = model.MobileNumber, FromLocation = model.FromLocation, ToLocation = model.ToLocation, DateTimeRequired = model.DateTimeRequired, Comments = model.Comments, AuditInfo = auditInfo } }; var result = await _bucket.InsertAsync(sawariBookingModelMessageDoc); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } SawariBookingResponse sawariBookingResponse = new SawariBookingResponse(); sawariBookingResponse.RequestRefID = result.Document.Id; sawariBookingResponse.Message = "messge by CT"; sawariBookingResponse.Telephone = "1800-6000-123456"; var jsonSBR = JSONHelper.ToJSON(sawariBookingResponse); return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), jsonSBR), new JsonMediaTypeFormatter())); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public async Task <IHttpActionResult> RegisterVehicle(Vehicle_APTC 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 == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } var vehicleKey = "vehicle_" + model.KeyID; if (await _bucket.ExistsAsync(vehicleKey)) { //return Content(HttpStatusCode.Conflict, new Error($"Vehicle '{model.KeyID}' already exists")); return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "170-Key ID already exists."), new JsonMediaTypeFormatter())); } // call third part api to check Vehicle is valid or not VehPlate vehPlate = new VehPlate(); if (model.VehPlate != null) { vehPlate.PlateNumber = model.VehPlate.PlateNumber; vehPlate.PlateCategory = model.VehPlate.PlateCategory; vehPlate.PlateSource = model.VehPlate.PlateSource; vehPlate.PlateCode = model.VehPlate.PlateCode; } Ownership ownership = new Ownership(); if (model.Ownership != null) { ownership.OwnershipType = model.Ownership.OwnershipType; ownership.OwnerID = model.Ownership.OwnerID; ownership.OwnerName = model.Ownership.OwnerName; ownership.LeasorName = model.Ownership.LeasorName; } List <AuditInfo> lstauditInfo = new List <AuditInfo>(); AuditInfo auditInfo = new AuditInfo(); auditInfo.Version = "1"; auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.KeyID; lstauditInfo.Add(auditInfo); CTResponse cTResponse = new CTResponse(); if (model.CTResponse != null) { cTResponse.CTStatus = false; cTResponse.CTResponseId = model.CTResponse.CTResponseId; cTResponse.CTRemarks = model.CTResponse.CTRemarks; } var vehicleDoc = new Document <Vehicle_APTC>() { Id = vehicleKey, Content = new Vehicle_APTC { //Id = vehicleKey, KeyID = model.KeyID, // This is vehicle chassNumber. DocType = model.DocType, EngineNum = model.EngineNum, NumSeats = model.NumSeats, TrafficNum = model.TrafficNum, FirstRegData = model.FirstRegData, YearManufacture = model.YearManufacture, Make = model.Make, Model = model.Model, Colour = model.Colour, VehType = model.VehType, FuelType = model.FuelType, TransType = model.TransType, IsActive = true, DisabledFriendly = model.DisabledFriendly, VehPlate = vehPlate, AuditInfo = lstauditInfo, CTResponse = cTResponse, Remarks = model.Remarks, Ownership = ownership, VehValid = false,// Third Part Verification Status = "PE" } }; var result = await _bucket.InsertAsync(vehicleDoc); if (!result.Success) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), result.Message), new JsonMediaTypeFormatter())); } if (ConfigurationManager.AppSettings.Get("NotificationSettingFlag") == "1") { #region Post Notification RoleCodeHODP //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeHODP; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration; objPostNotificationParameters.KeyID = model.KeyID; objPostNotificationParameters.Value = model.TrafficNum; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion #region Post Notification RoleCodeBCKO //////////////// Post Notification Code try { PostNotificationParameters objPostNotificationParameters = new PostNotificationParameters(); objPostNotificationParameters.UserCode = string.Empty; objPostNotificationParameters.RoleCode = AspectEnums.RoleCodeBCKO; objPostNotificationParameters.DeptCode = AspectEnums.DeptCodeFROE; objPostNotificationParameters.NotificationType = (int)AspectEnums.NotificationType.VehicleRegistration; objPostNotificationParameters.KeyID = model.KeyID; objPostNotificationParameters.Value = model.TrafficNum; objPostNotificationParameters.Status = AspectEnums.StatusPS; //"PE";//model.Status.ToString(); resultPostNotification = sn.PostNotification(objPostNotificationParameters); //sn.PostNotification(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } #endregion } return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Add, result.Document.Id + " Notification Status :" + resultPostNotification), new JsonMediaTypeFormatter())); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter())); } }
public IHttpActionResult EmployeeRegister(Individual model) { try { if (model.fullName == null) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name is required"), new JsonMediaTypeFormatter())); } else { if (string.IsNullOrEmpty(model.fullName.Ar_SA) && string.IsNullOrEmpty(model.fullName.En_US)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "224-Full name is required"), new JsonMediaTypeFormatter())); } } // Validate Model if (!ModelState.IsValid) { var modelErrors = new List <string>(); foreach (var modelState in ModelState.Values) { foreach (var modelError in modelState.Errors) { modelErrors.Add(modelError.ErrorMessage == "" ? modelError.Exception.Message : modelError.ErrorMessage); } } return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), modelErrors[0].ToString()), new JsonMediaTypeFormatter())); } var userDocumentEmail = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where email= '" + model.Email + "' and isActive=true").ToList(); if (userDocumentEmail.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "105-The e-mail already exists"), new JsonMediaTypeFormatter())); } if (model.LoginDetails != null) { if (string.IsNullOrEmpty(model.LoginDetails.Password)) { return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "158-Password is required"), new JsonMediaTypeFormatter())); } } var userDocumentPhone = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " where " + _bucket.Name + ".mobNum.num= '" + model.MobNum.NumM + "'").ToList(); if (userDocumentPhone.Count > 0) { return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), "Mobile number already exists"), new JsonMediaTypeFormatter())); } Address address = new Address(); address.City = model.Address.City; address.State = model.Address.State; address.Area = model.Address.Area; address.Street = model.Address.Street; address.BldgNum = model.Address.BldgNum; address.FlatNum = model.Address.FlatNum; MobNum mobNum = new MobNum(); mobNum.CountryCodeM = model.MobNum.CountryCodeM; mobNum.NumM = model.MobNum.NumM; mobNum.AreaM = model.MobNum.AreaM; TelNum telNum = new TelNum(); if (model.TelNum != null) { telNum.CountryCodeT = model.TelNum.CountryCodeT; telNum.NumT = model.TelNum.NumT; telNum.AreaT = model.TelNum.AreaT; } List <AuditInfo> lstauditInfo = new List <AuditInfo>(); AuditInfo auditInfo = new AuditInfo(); auditInfo.Version = "1"; auditInfo.Status = "true"; auditInfo.LastChangeDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditInfo.LastChangeBy = model.Email; lstauditInfo.Add(auditInfo); List <Roles> lstRoles = new List <Roles>(); if (model.Roles != null) { foreach (var role in model.Roles) { Roles roles = new Roles(); roles.RoleID = role.RoleID; roles.Name = role.Name; roles.Link = role.Link; lstRoles.Add(roles); } } #region MyRegion List <Fines> lstFines = new List <Fines>(); List <Documents> lstDocuments = new List <Documents>(); List <Vehicles> lstVehicles = new List <Vehicles>(); List <Incidents> lstIncident = new List <Incidents>(); List <ScoreCards> lstScoreCard = new List <ScoreCards>(); List <DriverStatus> lstdriverStatus = new List <DriverStatus>(); #endregion FullName fullName = new FullName(); fullName.En_US = model.fullName.En_US; fullName.Ar_SA = model.fullName.Ar_SA; Status status = new Status(); if (model.Status != null) { status.StatusID = model.Status.StatusID; status.DateTime = model.Status.DateTime; } //DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString()) ProfilePhoto profilePhoto = new ProfilePhoto(); if (model.ProfilePhoto != null) { profilePhoto.DocFormat = model.ProfilePhoto.DocFormat; profilePhoto.Photo = model.ProfilePhoto.Photo; profilePhoto.ValidFrom = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); profilePhoto.ValidTo = DataConversion.ConvertYMDHMS(DateTime.Now.AddDays(Convert.ToInt16(ConfigurationManager.AppSettings.Get("ValidToProfilePhotoDays"))).ToString()); } string docId = string.Empty; if (string.IsNullOrEmpty(model.KeyID)) { docId = "individual_" + Guid.NewGuid(); } else { docId = "individual_" + model.KeyID; } var employeeDoc = new Document <Individual>() { Id = docId, Content = new Individual { KeyID = docId, fullName = fullName, DOB = DataConversion.ConvertDateYMD(model.DOB), Nationality = model.Nationality, Gender = model.Gender, Fines = lstFines, Language = model.Language, MaritalStatus = model.MaritalStatus, MobNum = mobNum, AuditInfo = lstauditInfo, Vehicles = lstVehicles, Roles = lstRoles, TelNum = telNum, DocType = ("Individual").ToLower(), Documents = lstDocuments, Email = model.Email, ProfilePhoto = profilePhoto, Notes = model.Notes, ScoreCards = lstScoreCard, Address = address, Religion = model.Religion, Status = status, Incidents = lstIncident, DriverStatus = lstdriverStatus, }, }; var result = _bucket.Insert(employeeDoc); 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())); } }