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); }
/// <summary> /// KafkaConfig /// </summary> public KafkaConfig(Dictionary <string, string> config) { MainConfig = new ConcurrentDictionary <string, string>(); if (config.IsNotNullOrEmpty()) { MainConfig.AddRangeIfNotContains(config.ToArray()); } }
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); }
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); }
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); }
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); }
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)); }
//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)); } }
/// <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; } } }
/// <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); } } }
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());//存在多个分组,则从头开始比较每组人员 } } } }