Beispiel #1
0
        public static List <Dictionary <string, string> > ExtractMetaTags(HtmlDocument document)
        {
            var metaTags = document.DocumentNode.SelectNodes("//meta");

            if (metaTags != null)
            {
                var tags = new List <Dictionary <string, string> >();
                foreach (var t in metaTags)
                {
                    var tagComponents = new Dictionary <string, string>();
                    foreach (var item in t.Attributes)
                    {
                        tagComponents.Add(item.Name, item.Value);
                    }
                    if (tagComponents.IsNotNullOrEmpty())
                    {
                        tags.Add(tagComponents);
                    }
                }

                if (tags.IsNotNullOrEmpty())
                {
                    return(tags);
                }
            }
            return(null);
        }
Beispiel #2
0
 /// <summary>
 /// KafkaConfig
 /// </summary>
 public KafkaConfig(Dictionary <string, string> config)
 {
     MainConfig = new ConcurrentDictionary <string, string>();
     if (config.IsNotNullOrEmpty())
     {
         MainConfig.AddRangeIfNotContains(config.ToArray());
     }
 }
Beispiel #3
0
        public bool Delete(string FormName, Dictionary <string, object> formData)
        {
            bool isSaved = false;

            if (FormName.IsNotNullOrEmpty() && formData.IsNotNullOrEmpty())
            {
                HandleFormData(FormName, formData);
                isSaved = DynamicFormRepository.Delete(FormName, formData);
            }
            return(isSaved);
        }
Beispiel #4
0
        public bool Update(string FormName, Dictionary <string, object> formData)
        {
            bool isSaved = false;

            if (FormName.IsNotNullOrEmpty() && formData.IsNotNullOrEmpty())
            {
                //List<KeyValuePair<string, JObject>> CatalogData = formData.Where(formField => formField.Value != null && formField.Value is JObject).Select(formField => new KeyValuePair<string, JObject>(formField.Key, ((JObject)formField.Value))).ToList();
                //CatalogData.ForEach(catalogData => formData[catalogData.Key] = catalogData.Value["code"].ToString());
                HandleFormData(FormName, formData);
                isSaved = DynamicFormRepository.Update(FormName, formData);
            }
            return(isSaved);
        }
Beispiel #5
0
        public bool AddAssetV2(byte[] key, long value)
        {
            Dictionary <string, long> assets = new Dictionary <string, long>(this.account.AssetV2);
            string key_name = key.BytesToString();

            if (assets.IsNotNullOrEmpty() && assets.ContainsKey(key_name))
            {
                return(false);
            }

            this.account.AssetV2.Add(key_name, value);

            return(true);
        }
Beispiel #6
0
        public static void SendEMail(MailArguments mailArgs, List <MimeAttachment> attachments, bool isSsl, Dictionary <string, string> headers)
        {
            var networkCredential = new NetworkCredential
            {
                Password = mailArgs.Password,
                UserName = mailArgs.MailFrom
            };

            var mailMsg = new MimeMailMessage
            {
                Body       = mailArgs.Message,
                Subject    = mailArgs.Subject,
                IsBodyHtml = true // This indicates that message body contains the HTML part as well.
            };

            mailMsg.To.Add(mailArgs.MailTo);

            if (headers.IsNotNullOrEmpty())
            {
                foreach (var header in headers)
                {
                    mailMsg.Headers.Add(header.Key, header.Value);
                }
            }

            if (attachments.IsNotNull())
            {
                foreach (var attachment in attachments)
                {
                    if (attachment.IsNotNull())
                    {
                        mailMsg.Attachments.Add(attachment);
                    }
                }
            }

            mailMsg.From = new MimeMailAddress(mailArgs.MailFrom);


            var mailer = new MimeMailer(mailArgs.SmtpHost, Convert.ToInt32(mailArgs.Port));

            mailer.User               = mailArgs.MailFrom;
            mailer.Password           = mailArgs.Password;
            mailer.SslType            = SslMode.Ssl;
            mailer.AuthenticationMode = AuthenticationType.Base64;

            mailer.SendMailAsync(mailMsg);
        }
        public bool Delete(string FormConfigId, Dictionary <string, object> formData)
        {
            bool isSaved = false;

            if (FormConfigId.IsNotNullOrEmpty() && formData.IsNotNullOrEmpty())
            {
                string tableName = GetTableName(FormConfigId);
                if (tableName.IsNotNullOrEmpty())
                {
                    List <FormFieldDBConfiguration> controlsDBConfig = GetFormControlsDBConfig(FormConfigId);
                    controlsDBConfig = controlsDBConfig.Where(control => formData.Keys.Contains(control.Name)).ToList();
                    if (controlsDBConfig.IsNotNullOrEmpty())
                    {
                        string query        = BuildDeleteQuery(tableName, controlsDBConfig);
                        object parameters   = formData.ToDynamicObject();
                        int    rowsInserted = Connection.Execute(query, parameters);
                        isSaved = rowsInserted > 0;
                    }
                }
            }
            return(isSaved);
        }
Beispiel #8
0
        Tuple <RestClient, RestRequest> Call(string url, Dictionary <string, string> data, RestSharp.Method method,
                                             Dictionary <string, string> headers, string body)
        {
            var restClient =
                new RestClient(url)
            {
                UserAgent = "daredevils"
            };

            var request = new RestRequest(method);

            request.AddHeader("Accept", "application/json");
            request.AddHeader("User-Agent", "daredevils");
            if (data.IsNotNullOrEmpty())
            {
                foreach (var item in data)
                {
                    request.AddParameter(item.Key, item.Value);
                }
            }

            if (headers.IsNotNullOrEmpty())
            {
                foreach (var item in headers)
                {
                    request.AddHeader(item.Key, item.Value);
                }
            }

            if (body.IsNotNullOrEmptyOrWhiteSpace())
            {
                request.RequestFormat = DataFormat.Json;
                request.AddParameter("application/json; charset=utf-8", body, ParameterType.RequestBody);
            }
            return(new Tuple <RestClient, RestRequest>(restClient, request));
        }
Beispiel #9
0
        //Method for sending an email
        public static Tuple <bool, string> SendEMail(MailArguments mailArgs, List <Attachment> attachments, bool isSsl, Dictionary <string, string> headers)
        {
            try
            {
                var networkCredential = new NetworkCredential
                {
                    Password = mailArgs.Password,
                    UserName = mailArgs.MailFrom
                };

                var mailMsg = new MailMessage
                {
                    Body       = mailArgs.Message,
                    Subject    = mailArgs.Subject,
                    IsBodyHtml = true // This indicates that message body contains the HTML part as well.
                };
                mailMsg.To.Add(mailArgs.MailTo);


                if (headers.IsNotNullOrEmpty())
                {
                    foreach (var header in headers)
                    {
                        mailMsg.Headers.Add(header.Key, header.Value);
                    }
                }

                if (mailArgs.Bcc.IsNotNullOrEmptyOrWhiteSpace())
                {
                    string[] bccIds = mailArgs.Bcc.Split(',');
                    if (bccIds.IsNotNullOrEmpty())
                    {
                        foreach (var bcc in bccIds)
                        {
                            mailMsg.Bcc.Add(bcc);
                        }
                    }
                }

                if (attachments.IsNotNull())
                {
                    foreach (var attachment in attachments)
                    {
                        if (attachment.IsNotNull())
                        {
                            mailMsg.Attachments.Add(attachment);
                        }
                    }
                }

                mailMsg.From = new MailAddress(mailArgs.MailFrom, mailArgs.Name);

                var smtpClient = new SmtpClient(mailArgs.SmtpHost)
                {
                    Port           = Convert.ToInt32(mailArgs.Port),
                    EnableSsl      = isSsl,
                    DeliveryMethod = SmtpDeliveryMethod.Network,

                    UseDefaultCredentials = false,

                    Credentials = networkCredential
                };

                smtpClient.Send(mailMsg);
                return(Tuple.Create(true, "Email Sent Successfully."));
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
                return(Tuple.Create(false, msg));
            }
        }
Beispiel #10
0
        /// <summary>
        /// Renames attributes
        /// </summary>
        /// <param name="myToBeRenamedAttributes"></param>
        /// <param name="vertexType"></param>
        /// <param name="myTransactionToken"></param>
        /// <param name="mySecurityToken"></param>
        private void RenameAttributes(Dictionary<string, string> myToBeRenamedAttributes, IVertexType vertexType, TransactionToken myTransactionToken, SecurityToken mySecurityToken)
        {
            if (!myToBeRenamedAttributes.IsNotNullOrEmpty())
                return;

            foreach (var aToBeRenamedAttribute in myToBeRenamedAttributes)
            {
                VertexUpdateDefinition update = new VertexUpdateDefinition(null, new StructuredPropertiesUpdate(new Dictionary<long, IComparable> { { (long)AttributeDefinitions.AttributeDotName, aToBeRenamedAttribute.Value } }));
                var attribute = vertexType.GetAttributeDefinition(aToBeRenamedAttribute.Key);

                switch (attribute.Kind)
                {
                    case AttributeType.Property:
                        _vertexManager.ExecuteManager.VertexStore.UpdateVertex(mySecurityToken, myTransactionToken, attribute.ID, (long)BaseTypes.Property, update);
                        break;

                    case AttributeType.IncomingEdge:
                        _vertexManager.ExecuteManager.VertexStore.UpdateVertex(mySecurityToken, myTransactionToken, attribute.ID, (long)BaseTypes.IncomingEdge, update);

                        break;
                    case AttributeType.OutgoingEdge:
                        _vertexManager.ExecuteManager.VertexStore.UpdateVertex(mySecurityToken, myTransactionToken, attribute.ID, (long)BaseTypes.OutgoingEdge, update);

                        break;
                    case AttributeType.BinaryProperty:
                        _vertexManager.ExecuteManager.VertexStore.UpdateVertex(mySecurityToken, myTransactionToken, attribute.ID, (long)BaseTypes.BinaryProperty, update);

                        break;
                    default:
                        break;
                }
            }
        }
Beispiel #11
0
        /// <summary>
        /// Removes indices
        /// </summary>
        /// <param name="myToBeRemovedIndices"></param>
        /// <param name="vertexType"></param>
        /// <param name="myTransactionToken"></param>
        /// <param name="mySecurityToken"></param>
        private void RemoveIndices(Dictionary<string, string> myToBeRemovedIndices, IVertexType vertexType, TransactionToken myTransactionToken, SecurityToken mySecurityToken)
        {
            if (myToBeRemovedIndices.IsNotNullOrEmpty())
            {
                foreach (var aIndex in myToBeRemovedIndices)
                {
                    //find the source
                    IIndexDefinition sourceIndexDefinition = vertexType.GetIndexDefinitions(false).Where(_ => _.Name == aIndex.Key && (aIndex.Value == null || _.Edition == aIndex.Value)).FirstOrDefault();

                    foreach (var aVertexType in vertexType.GetDescendantVertexTypes())
                    {
                        foreach (var aInnerIndex in aVertexType.GetIndexDefinitions(false).Where(_=>_.SourceIndex.ID == sourceIndexDefinition.ID))
                        {
                            _indexManager.RemoveIndexInstance(aInnerIndex.ID, myTransactionToken, mySecurityToken);
                        }
                    }

                    if (sourceIndexDefinition != null)
                        _indexManager.RemoveIndexInstance(sourceIndexDefinition.ID, myTransactionToken, mySecurityToken);
                }
            }
        }
Beispiel #12
0
        private void Calculate(List <string> samePlayers, CalBase cal)
        {
            var groupPlayers = players.Where(p => samePlayers.Contains(p.TeamId)).ToList();

            foreach (var obj in groupPlayers)
            {
                cal.Cal(obj, samePlayers, scores);
                //记录第一次积分结果,展示给用户
                if (obj.GroupScore == 0)
                {
                    obj.GroupScore = (int)obj.Score;
                }
                else if (!(cal is CalScore))//非积分比较,记录每一次比率
                {
                    if (obj.RateRemark.IsNotNullOrEmpty())
                    {
                        obj.RateRemark = obj.RateRemark + "/" + Convert.ToString(obj.Score);
                    }
                    else
                    {
                        obj.RateRemark = Convert.ToString(obj.Score);
                    }
                }
            }

            var sameGroups = new Dictionary <double, List <string> >();

            foreach (var obj in groupPlayers)
            {
                obj.Order       = groupPlayers.Count(p => p.Score > obj.Score);
                obj.SameCount   = groupPlayers.Count(p => p.Score == obj.Score);
                obj.TotalOrder += obj.Order;

                if (obj.SameCount > 1)//本次存在分数相同的情况
                {
                    if (sameGroups.ContainsKey(obj.Score))
                    {
                        sameGroups[obj.Score].Add(obj.TeamId);
                    }
                    else
                    {
                        sameGroups.Add(obj.Score, new List <string> {
                            obj.TeamId
                        });
                    }
                }
            }

            if (sameGroups.IsNotNullOrEmpty())//存在分数相同分组
            {
                bool isOnlyOneGroup = sameGroups.First().Value.Count == groupPlayers.Count;
                if (isOnlyOneGroup)//当前只存在一个分组,本次比分模式所有人相等,则继续比较
                {
                    var nextCal = cal.NextCal(isTeam);
                    if (nextCal != null)
                    {
                        Calculate(samePlayers, nextCal);
                    }
                    else
                    {
                        groupPlayers.ForEach(p => { p.Remark = "抽签确定名次"; });//最终还是存在多个相同名次,则设置提示
                    }
                }
                else
                {
                    foreach (var obj in sameGroups)
                    {
                        Calculate(obj.Value, new CalScore());//存在多个分组,则从头开始比较每组人员
                    }
                }
            }
        }