Example #1
0
        public int UpdateDatasyncJob(int?id, string token, DateTime?startDateTime, DateTime?endDateTime)
        {
            return(SQLAdapter.UpdateDataSync("Marathon", id, token, startDateTime, endDateTime));

            //List<SqlParameter> sqlParamters = new List<SqlParameter>() {
            //        new SqlParameter("@Id",id),
            //        new SqlParameter("@Token",token),
            //        new SqlParameter("@StartDate", startDateTime),
            //        new SqlParameter("@EndDate", endDateTime)
            //    };

            //SQLAdapter.ExecuteSPWithReturnValue("Marathon", "rsa.UpdateDatasyncJob", sqlParamters);
        }
Example #2
0
        public void syncUserContacts(string token, List <UserRootObject> userList)
        {
            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Archer", "session-id=" + token);

            HttpResponseMessage response = _client.GetAsync("core/system/usercontact").Result;

            response.EnsureSuccessStatusCode();
            var resultStr = response.Content.ReadAsStringAsync().Result;
            var result    = response.Content.ReadAsAsync <List <UserContactRootObject> >().Result;

            string Password = "******";
            string salt     = "afsdafshtyyukuiyergrsgsasfgh";
            string PassHash = "";

            MD5 md5Hash = MD5.Create();

            PassHash = GetMd5Hash(md5Hash, salt + Password);

            //Get only updated users list from SyncUsers and update only those contacts
            HashSet <int> commonUsers = new HashSet <int>(userList.Select(s => s.RequestedObject.Id));
            var           results     = result.Where(m => commonUsers.Contains(m.RequestedObject.UserId)).ToList();

            foreach (UserContactRootObject user in results)
            {
                string email = null, phone = null;

                if (user.RequestedObject.Contacts != null && user.RequestedObject.Contacts.Count > 0)
                {
                    foreach (var contact in user.RequestedObject.Contacts)
                    {
                        if (contact.ContactType == 7 && contact.ContactSubType == 2)
                        {
                            email = contact.Value;
                        }
                        else if (contact.ContactType == 9 && contact.ContactSubType == 9)
                        {
                            phone = contact.Value;
                        }
                    }
                }

                List <SqlParameter> sqlParamters = new List <SqlParameter>()
                {
                    new SqlParameter("@Id", user.RequestedObject.UserId),
                    new SqlParameter("@Email", email),
                    new SqlParameter("@Phone", phone)
                };

                SQLAdapter.ExecuteSPWithoutReturnValue("Marathon", "rsa.SyncResourceContacts", sqlParamters);
            }
        }
        public void SyncProjects(string token)
        {
            //var authClient = new ArcherGeneral.generalSoapClient();
            //token = authClient.CreateUserSessionFromInstance("sysadmin", "AuditProdigy", "Password123!");

            var client = new searchSoapClient("searchSoap");
            //var response = client.ExecuteQuickSearchWithModuleIds(token, "271", "EMEA", 1, 50);

            var searchOptions = @"<SearchReport><PageSize>100</PageSize>
                                <DisplayFields>
                                    <DisplayField>5686</DisplayField>
                                    <DisplayField>5689</DisplayField>
                                    <DisplayField>9908</DisplayField>
                                    <DisplayField>15498</DisplayField>
                                    <DisplayField>15520</DisplayField>
                                </DisplayFields>
                                <Criteria>
                                    <ModuleCriteria><Module>271</Module>
                                    <IsKeywordModule>False</IsKeywordModule>
                                    </ModuleCriteria>
                                </Criteria></SearchReport>";

            var searchResponse = client.ExecuteSearch(token, searchOptions, 1);

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(searchResponse);

            XmlNodeList nodes = doc.DocumentElement.SelectNodes("/Records/Record");

            foreach (XmlNode node in nodes)
            {
                List <SqlParameter> sqlParamters = new List <SqlParameter>()
                {
                    new SqlParameter("@Engagement_ID", node.ChildNodes[0].InnerText),
                    new SqlParameter("@Engagement_Name", node.ChildNodes[1].InnerText),
                    new SqlParameter("@Audit_Scope__Objectives", node.ChildNodes[2].InnerText),
                    new SqlParameter("@Projected_Hours", node.ChildNodes[3].InnerText == "" || node.ChildNodes[3].InnerText == "0" ? node.ChildNodes[4].InnerText: node.ChildNodes[3].InnerText)
                };

                SQLAdapter.ExecuteSPWithoutReturnValue("Marathon", "rsa.SyncProject", sqlParamters);
            }
        }