public JsonResult DC_Submit(DocContent obj) { var model = new ResultModel <object>(); _service.Command <DocOutsourcing>((db, o) => { var isAdd = obj.Id == 0; if (isAdd) { model.ResultInfo = new { id = db.Insert(obj) }; } else { db.AddDisableUpdateColumns(); db.Update(obj); model.ResultInfo = new { id = obj.Id }; } }); return(Json(model)); }
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> 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())); } }