public IHttpActionResult CompanyAddFine([FromUri] string id, Fines model) { try { bool isThisFineExist = false; 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())); } Fines addNewFine = new Fines(); addNewFine.FineID = model.FineID; addNewFine.Amount = model.Amount; addNewFine.Status = model.Status; addNewFine.Remark = model.Remark; addNewFine.DateTime = model.DateTime; /////////////////// Validate Code for Fine already exist or not. var fineDoc = _bucket.Query <object>(@"SELECT fines From " + _bucket.Name + " where meta().id = '" + id + "'").ToList(); foreach (var item1 in fineDoc) { if (((Newtonsoft.Json.Linq.JToken)item1).Root["fines"] != null) { //fines-FineID var finesIsExist = ((Newtonsoft.Json.Linq.JToken)item1).Root["fines"]; foreach (var itemTD in finesIsExist) { if (itemTD["fineID"].ToString() == model.FineID) { isThisFineExist = true; } } } } /////////////////////////////////// if (isThisFineExist == true) { // fine already exist. return(Content(HttpStatusCode.Conflict, MessageResponse.Message(HttpStatusCode.Conflict.ToString(), model.FineID + " already exists"), new JsonMediaTypeFormatter())); } else { // add fine code string query = @"UPDATE " + _bucket.Name + " SET fines = ARRAY_APPEND(fines, " + Newtonsoft.Json.JsonConvert.SerializeObject(addNewFine).ToString() + ") where meta().id='" + id + "'"; var result = _bucket.Query <object>(query); 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.FineRequest; objPostNotificationParameters.KeyID = model.FineID;//docOutDocument.KeyID; objPostNotificationParameters.Value = model.Amount; objPostNotificationParameters.Status = model.Status; 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.FineRequest; objPostNotificationParameters.KeyID = model.FineID;//docOutDocument.KeyID; objPostNotificationParameters.Value = model.Amount; objPostNotificationParameters.Status = model.Status; 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(), model.FineID + " has been added sucessfully"), 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 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())); } }