// GET: api/TodoList
        public IHttpActionResult Get()
        {
            string sharePointUrl = "https://appliancedirectclan.sharepoint.com";
            string newToken = GetSharePointAccessToken(sharePointUrl, this.Request.Headers.Authorization.Parameter);
            using (ClientContext clientContext = new ClientContext(sharePointUrl))
            {

                /// Adding authorization header
                clientContext.ExecutingWebRequest += (s, e) => e.WebRequestExecutor.WebRequest.Headers.Add("Authorization", "Bearer " + this.Request.Headers.Authorization.Parameter);

                Web web = clientContext.Web;
                clientContext.Load(web);

                clientContext.ExecuteQuery();

                List listObject = clientContext.Web.Lists.GetByTitle("Documents");

                clientContext.ExecuteQuery();

                CamlQuery caml = new CamlQuery();
                caml.ViewXml = "<View><ViewFields><FieldRef Name='FileLeafRef' /></ViewFields><Query><Where><Contains><FieldRef Name='FileLeafRef'/><Value Type='File'>" + "1" + "</Value></Contains></Where></Query><RowLimit>100</RowLimit></View>";
                //caml.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/><Value Type='Number'>10</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";

                ListItemCollection items = listObject.GetItems(caml);

                clientContext.Load(items);

                clientContext.ExecuteQuery();

                List<DocOut> outs = new List<DocOut>();
                foreach (ListItem item in items)
                {
                    DocOut outt = new DocOut();
                    outt.name = item["FileLeafRef"].ToString();
                    outt.id = item.Id;
                    outs.Add(outt);
                }

                return Ok(outs);
            }
        }
Exemple #2
0
        public async Task <IHttpActionResult> Approved_DocOut(string id, DocOut model)
        {
            try
            {
                string query     = @"select * from " + _bucket.Name + " where meta().id='" + id + "' and status=true";
                var    docInData = _bucket.Query <IndividualOutPut>(query).ToList();
                if (docInData.Count == 0)
                {
                    return(Content(HttpStatusCode.NotFound, MessageResponse.Message(HttpStatusCode.NotFound.ToString(), MessageDescriptions.NotFound, id), new JsonMediaTypeFormatter()));
                }

                /////////////////////////////////////////////////// Update Document Status Code
                if (model.DocAccepted.ToLower() == "ap")
                {
                    _bucket.Query <object>(@"Update " + _bucket.Name + " set docAccepted='AP' where meta().id='" + id + "' and status=true").ToList();
                    return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Update, id + " document status has been updated successfully."), new JsonMediaTypeFormatter()));
                }
                if (model.DocAccepted.ToLower() == "re")
                {
                    if (string.IsNullOrEmpty(model.RejReas))
                    {
                        return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "193-Rejection reason is required."), new JsonMediaTypeFormatter()));
                    }
                    else
                    {
                        _bucket.Query <object>(@"Update " + _bucket.Name + " set rejReas='" + model.RejReas + "',docAccepted='RE' where meta().id='" + id + "'").ToList();
                        return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.Update, id + " status has been updated successfully."), new JsonMediaTypeFormatter()));
                    }
                }
                else
                {
                    return(Content(HttpStatusCode.BadRequest, MessageResponse.Message(HttpStatusCode.BadRequest.ToString(), "Document status should be approved / rejected."), new JsonMediaTypeFormatter()));
                }
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }
Exemple #3
0
        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()));
            }
        }
Exemple #4
0
        public async Task <IHttpActionResult> Update_DocOut(string Id, DocOut 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()));
                }
                // Validate company is exist or not
                var docInDocument = _bucket.Query <object>(@"SELECT * From " + _bucket.Name + " as docOut where meta().id='" + Id + "'").ToList();

                if (docInDocument.Count > 0)
                {
                    // edit docIn
                    #region Updare docIn
                    string updatequeryString = string.Empty;

                    updatequeryString  = @"update " + _bucket.Name + " set ";
                    updatequeryString += " docType ='" + model.DocType + "',";
                    updatequeryString += " docRef ='" + model.DocRef + "',";
                    updatequeryString += " lang ='" + model.Lang + "',";
                    updatequeryString += " version ='" + model.Version + "',";
                    updatequeryString += " status ='" + model.Status + "',";
                    updatequeryString += " dateTime ='" + model.DateTime + "',";
                    updatequeryString += " validFrom ='" + model.ValidFrom + "',";
                    updatequeryString += " validTo ='" + model.ValidTo + "',";
                    updatequeryString += " rejReas ='" + model.RejReas + "',";
                    updatequeryString += " indivID ='" + model.IndivID + "',";
                    updatequeryString += " vehID ='" + model.VehID + "',";
                    updatequeryString += " compID ='" + model.CompID + "',";
                    updatequeryString += " docClass ='" + model.DocClass + "',";
                    updatequeryString += " docAccepted ='" + model.DocAccepted + "',";

                    updatequeryString += "docFile =[],";

                    /////// Doc Content
                    if (model.DocContent != null)
                    {
                        updatequeryString += " docContent.fees ='" + model.DocContent.Fees + "',";
                        updatequeryString += " docContent.duration ='" + model.DocContent.Duration + "'";
                    }

                    //updatequeryString += " auditInfo = ARRAY_APPEND( auditInfo, " + Newtonsoft.Json.JsonConvert.SerializeObject(auditInfo).ToString() + ")";
                    updatequeryString += " where meta().id='" + Id + "'";

                    var result = _bucket.Query <object>(updatequeryString);



                    foreach (var item in model.DocFile)
                    {
                        var queryUpdatedocFile = @"update " + _bucket.Name + " SET docFile= ARRAY_APPEND(docFile, " + Newtonsoft.Json.JsonConvert.SerializeObject(item).ToString() + " ) where meta().id='" + Id + "'";
                        _bucket.Query <object>(queryUpdatedocFile);
                    }

                    return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), Id + " has been updated sucessfully"), new JsonMediaTypeFormatter()));

                    #endregion
                    //Vehicles = lstVehicles,Roles = lstRoles,Documents = lstDocuments,LoginDetails = model.LoginDetails
                    //Fines = lstFines,,ScoreCards = LstScoreCard,Incidents = LstIncident
                }
                else
                {
                    return(Content(HttpStatusCode.OK, MessageResponse.Message(HttpStatusCode.OK.ToString(), MessageDescriptions.NotFound, "document does not exist"), new JsonMediaTypeFormatter()));
                }
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, MessageResponse.Message(HttpStatusCode.InternalServerError.ToString(), ex.StackTrace), new JsonMediaTypeFormatter()));
            }
        }