public override bool Match(TModel model, string line) { var list = (List <TValue>)Property.GetValue(model); if (TryParse != null) { TValue result; if (!TryParse.Invoke(line, out result)) { return(false); } list.Add(result); return(true); } var parts = line.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 2) { return(false); } if (!parts[0].TrimStart().StartsWith(Key)) { return(false); } var indexpart = Regex.Match(parts[0]).Value.Trim(); var index = int.Parse(indexpart); //list.Insert(index - 1, (TValue)GetValue(parts[1].Trim())); while (list.Count < index) { list.Add(default(TValue)); } list[index - 1] = (TValue)GetValue(parts[1].Trim()); return(true); }
internal static T GetValue <T>(this string str, TryParse <T> parseFunc) { T val; parseFunc(str, out val); return(val); }
public HydraAppsModel GetApplications() { HydraAppsModel model = new HydraAppsModel(); using (SQLiteConnection connection = this.OpenConnection()) { string commandText = @"SELECT ap.uid , ap.app_name , ap.app_url , ap.description , dv.id AS developer_id , dv.dev_name AS developer_name FROM application ap LEFT JOIN developer dv ON dv.id = ap.developer_id ORDER BY ap.app_name "; using (DataTable dtApplications = this.Fill(commandText)) { foreach (DataRow app in dtApplications.Rows) { model.Add(new HydraAppModel() { UId = TryParse.ToGuid(app["uid"]), Name = TryParse.ToString(app["app_name"]), DeveloperId = TryParse.ToInt32(app["developer_id"]), DeveloperName = TryParse.ToString(app["developer_name"]), AppUrl = TryParse.ToString(app["app_url"]), Description = TryParse.ToString(app["description"]) }); } } } return(model); }
private void btnSubmit_Click(object sender, EventArgs e) { TaskPlanItem entity = new TaskPlanItem() { TaskItemType = 0 }; if (raSpiderTask.Checked) { if (dgvTask.SelectedRows.Count > 0) { entity.CategroyName = comCategorys.SelectedItem.ToString(); entity.TaskID = TryParse.StrToInt(dgvTask[colTaskID.Index, dgvTask.SelectedRows[0].Index].Value); entity.TaskName = CDataItem.Instance(dgvTask[colTaskName.Index, dgvTask.SelectedRows[0].Index].Value.ToString()); entity.TaskType = EnumGloabParas.EnumPlanTaskType.Task; entity.TaskArgs = ""; } else { WinFormLib.Core.MessageBoxHelper.ShowError("请选择执行任务!"); return; } } else if (raDataTask.Checked) { if (cbPubDataTable.SelectedItem != null || string.IsNullOrEmpty(cbPubDataTable.Text)) { entity.CategroyName = CDataItem.Instance(""); entity.TaskID = 0; entity.TaskName = string.IsNullOrEmpty(cbPubDataTable.Text) ? cbPubDataTable.SelectedItem.ToString() : cbPubDataTable.Text; entity.TaskType = EnumGloabParas.EnumPlanTaskType.DataBase; entity.TaskArgs = lbConnectionString.Value; entity.TaskItemType = cbPubDataTable.SelectedItem != null ? 1 : 0; } else { WinFormLib.Core.MessageBoxHelper.ShowError("请设置查询或存储过程"); return; } } else if (raOtherTask.Checked) { entity.CategroyName = CDataItem.Instance(""); entity.TaskID = 0; entity.TaskName = lbFileName.Value; entity.TaskType = EnumGloabParas.EnumPlanTaskType.Custom; entity.TaskArgs = lbFileArgs.Value; if (string.IsNullOrEmpty(entity.TaskName.Value)) { WinFormLib.Core.MessageBoxHelper.ShowError("请设置执行程序路径"); return; } } this.DialogResult = DialogResult.OK; if (e_OnReturnTaskPlanItem != null) { e_OnReturnTaskPlanItem(entity); } this.Close(); }
public virtual bool Match(TModel model, string line) { if (TryParse != null) { TValue result; if (!TryParse.Invoke(line, out result)) { return(false); } SetActualValue(model, result); return(true); } var parts = line.Split(Separator, StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 2) { return(false); } if (Key != parts[0]) { return(false); } SetActualValue(model, GetValue(parts[1].Trim())); return(true); }
public List <ContractorModel> GetContractors() { List <ContractorModel> model = new List <ContractorModel>(); string commandText = @"SELECT cnt.ID AS CONTRACTOR_ID , cnt.CONTRACTOR_TYPE_ID , cnt.C_NAME , cnt.ID_CONTRACTOR , cnt.S_TOWN_ID , cnt.C_ADDRESS , ISNULL(c_cmp.ACCOUNTABLE_PERSON, '') AS ACCOUNTABLE_PERSON FROM CONTRACTOR cnt LEFT JOIN CONTRACTOR_COMPANY c_cmp ON c_cmp.CONTRACTOR_ID = cnt.ID ORDER BY cnt.C_NAME "; using (DataTable dtContractors = FillDataTable(commandText)) { foreach (DataRow drContractor in dtContractors.Rows) { model.Add(new ContractorModel() { ContractorId = TryParse.ToInt32(drContractor["CONTRACTOR_ID"]), Name = TryParse.ToString(drContractor["C_NAME"]), ContractorTypeId = TryParse.ToInt32(drContractor["CONTRACTOR_TYPE_ID"]), IdContractor = TryParse.ToString(drContractor["ID_CONTRACTOR"]), TownId = TryParse.ToInt32(drContractor["S_TOWN_ID"]), Address = TryParse.ToString(drContractor["C_ADDRESS"]), AccountablePerson = TryParse.ToString(drContractor["ACCOUNTABLE_PERSON"]) }); } } return(model); }
private void BtnBoka_Click(object sender, EventArgs e) { double temp; if (TryParse.Double(tbxAntalDagar, out temp)) { string query = $"INSERT Resor(Namn, Destination, AntalDagar) VALUES('{tbxKund.Text}','{tbxDestination.Text}','{temp}')"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand(query, connection)) { command.CommandType = CommandType.Text; command.ExecuteNonQuery(); }; } MessageBox.Show("Resand är bokad", "Bekräftelse", MessageBoxButtons.OK, MessageBoxIcon.Information); FetchFromDB(); tbxKund.Clear();; tbxDestination.Clear(); tbxAntalDagar.Clear(); } }
private static void AddConverter <T>(TryParse <T> tryParse) { Converters.Add(typeof(T), str => { return(tryParse(str, NumberStyles.Any, CultureInfo.InvariantCulture, out T value) ? (object)value : null); }); }
/// <summary> /// Списък отстъки /// </summary> public List <ListItemModel> GetList(string discountList) { List <ListItemModel> model = new List <ListItemModel>(); string sqlDiscountList = discountList.Trim(','); if (String.IsNullOrWhiteSpace(sqlDiscountList)) { return(model); } string commandText = @"SELECT d.ID, d.D_NAME FROM DISCOUNT d WHERE d.ID IN (" + sqlDiscountList + @") ORDER BY d.D_NAME "; using (DataTable dtDiscounts = FillDataTable(commandText)) { foreach (DataRow drDiscount in dtDiscounts.Rows) { model.Add(new ListItemModel() { id = TryParse.ToString(drDiscount["ID"]), label = TryParse.ToString(drDiscount["D_NAME"]), abbrev = "" }); } } return(model); }
public List <CCardModel> GetCards() { List <CCardModel> model = new List <CCardModel>(); string commandText = @"SELECT cc.ID , cc.C_NUMBER , cc.VALID_FROM_DATE , cc.VALID_TO_DATE , cc.IS_BLOCKED , cc.CONTRACTOR_ID FROM C_CARD cc ORDER BY cc.C_NUMBER "; using (DataTable dtCCards = FillDataTable(commandText)) { foreach (DataRow drCCard in dtCCards.Rows) { model.Add(new CCardModel() { CardId = TryParse.ToInt32(drCCard["ID"]), CNumber = TryParse.ToString(drCCard["C_NUMBER"]), ValidFrom = TryParse.ToDateTime(drCCard["VALID_FROM_DATE"]), ValidTo = TryParse.ToDateTime(drCCard["VALID_TO_DATE"]), IsBlocked = (TryParse.ToInt32(drCCard["IS_BLOCKED"]) == 1), ContractorId = TryParse.ToInt32(drCCard["CONTRACTOR_ID"]) }); } } return(model); }
public void EnumTryParseTestOk(string input, bool expected, Whatever expectedResult) { var ok = TryParse.EnumTryParse(input, out Whatever whatever); Assert.That(ok, Is.EqualTo(expected)); Assert.That(whatever, Is.EqualTo(expectedResult)); }
/// <summary> /// Добавя карта /// </summary> public void Add(CCardModel model) { string commandText = @"INSERT INTO C_CARD ( C_NUMBER, VALID_FROM_DATE, VALID_TO_DATE, IS_BLOCKED, CONTRACTOR_ID, DISCOUNT_GROUP_ID, OWNER_NAME , CAR_NUMBER, IS_INVOICE, IS_MANUAL_INPUT, C_PASSWORD, C_COMMENT, S_PAYMENT_TYPE_ID ) VALUES (" + SQLString(model.CNumber) + ", " + SQLDateTime(model.ValidFrom) + ", " + SQLDateTime(model.ValidTo) + ", " + SQLInt(model.IsBlocked) + ", " + SQLInt(model.ContractorId) + ", " + SQLInt(model.DiscountGroupId) + ", " + SQLString(model.OwnerName) + ", " + SQLString(model.CarNumber) + ", " + SQLInt(model.IsInvoice) + ", " + SQLInt(model.IsManualInput) + ", " + SQLString(model.Password) + ", " + SQLString(model.Comment) + ", " + SQLInt(model.PaymentTypeId) + @") SELECT @@IDENTITY"; model.CardId = TryParse.ToInt32(ExecuteScalar(commandText)); }
private static void DoIf <TIn, TOut>(TIn value, TryParse <TIn, TOut> tryParse, Action <TOut> action) { if (tryParse(value, out var result)) { action(result); } }
public static bool TryParse(string input, TryParse <T> elementParser, out CompositeInterval <T> interval) { var result = CompositeInterval <T, DefaultValueComparer <T> > .TryParse(input, elementParser, out var comparerInterval); interval = comparerInterval; return(result); }
private static Formlet <T> GetNonNull <T>(HttpContextEx ctx, string name, TryParse <T> try_parse) where T : struct { T value = default(T); return(try_parse(ctx[name], out value) ? (Formlet <T>)value : (MissingError)name); }
public List <DiscountModel> GetDiscounts() { List <DiscountModel> model = new List <DiscountModel>(); string commandText = @"SELECT d.ID AS DISCOUNT_ID , d.D_NAME , d.VALID_FROM_DATE , d.VALID_TO_DATE , d.DISCOUNT_KIND_ID , dk.DK_NAME , d.D_VALUE FROM DISCOUNT d LEFT JOIN DISCOUNT_KIND dk ON dk.ID = d.DISCOUNT_KIND_ID ORDER BY d.D_NAME "; using (DataTable dtDiscounts = FillDataTable(commandText)) { foreach (DataRow drDiscount in dtDiscounts.Rows) { model.Add(new DiscountModel() { DiscountId = TryParse.ToInt32(drDiscount["DISCOUNT_ID"]), Name = TryParse.ToString(drDiscount["D_NAME"]), DiscountKindId = TryParse.ToInt32(drDiscount["DISCOUNT_KIND_ID"]), DiscountKindName = TryParse.ToString(drDiscount["DK_NAME"]), ValidFrom = TryParse.ToDateTime(drDiscount["VALID_FROM_DATE"]), ValidTo = TryParse.ToDateTime(drDiscount["VALID_TO_DATE"]), Value = TryParse.ToDecimal(drDiscount["D_VALUE"]), }); } } return(model); }
/// <summary> /// Списък контрагенти /// </summary> public List <ListItemModel> GetList(string term) { List <ListItemModel> model = new List <ListItemModel>(); string termValue = (String.IsNullOrWhiteSpace(term) || term.Equals("*")) ? "" : term; string commandText = @"SELECT TOP 15 c.ID, c.C_NAME FROM CONTRACTOR c WHERE c.C_NAME LIKE N'%" + termValue + @"%' ORDER BY c.C_NAME "; using (DataTable dtItems = FillDataTable(commandText)) { foreach (DataRow drItem in dtItems.Rows) { model.Add(new ListItemModel() { id = TryParse.ToString(drItem["ID"]), label = TryParse.ToString(drItem["C_NAME"]), abbrev = "" }); } } return(model); }
/// <summary> /// Списък групи отстъки /// </summary> public List <ListItemModel> GetGroupList() { List <ListItemModel> model = new List <ListItemModel>(); model.Add(new ListItemModel() { id = "-1", label = "Без отстъпка", abbrev = "" }); string commandText = @"SELECT dg.ID, dg.DG_NAME FROM DISCOUNT_GROUP dg ORDER BY dg.DG_NAME "; using (DataTable dtDiscounts = FillDataTable(commandText)) { foreach (DataRow drDiscount in dtDiscounts.Rows) { model.Add(new ListItemModel() { id = TryParse.ToString(drDiscount["ID"]), label = TryParse.ToString(drDiscount["DG_NAME"]), abbrev = "" }); } } return(model); }
public ContractorModel GetContractor(int id) { ContractorModel model = null; string commandText = @"SELECT cnt.ID AS CONTRACTOR_ID , cnt.CONTRACTOR_TYPE_ID , cnt.C_NAME , cnt.ID_CONTRACTOR , cnt.S_TOWN_ID , cnt.C_ADDRESS , ISNULL(c_cmp.ACCOUNTABLE_PERSON, '') AS ACCOUNTABLE_PERSON FROM CONTRACTOR cnt LEFT JOIN CONTRACTOR_COMPANY c_cmp ON c_cmp.CONTRACTOR_ID = cnt.ID WHERE cnt.ID = " + SQLInt(id); using (DataTable dtContractors = FillDataTable(commandText)) { if (dtContractors.Rows.Count > 0) { DataRow drContractor = dtContractors.Rows[0]; model = new ContractorModel() { ContractorId = TryParse.ToInt32(drContractor["CONTRACTOR_ID"]), Name = TryParse.ToString(drContractor["C_NAME"]), ContractorTypeId = TryParse.ToInt32(drContractor["CONTRACTOR_TYPE_ID"]), IdContractor = TryParse.ToString(drContractor["ID_CONTRACTOR"]), TownId = TryParse.ToInt32(drContractor["S_TOWN_ID"]), Address = TryParse.ToString(drContractor["C_ADDRESS"]), AccountablePerson = TryParse.ToString(drContractor["ACCOUNTABLE_PERSON"]) }; } } return(model); }
public DiscountModel GetDiscount(int id) { DiscountModel model = null; string commandText = @"SELECT d.ID AS DISCOUNT_ID , d.D_NAME , d.VALID_FROM_DATE , d.VALID_TO_DATE , d.DISCOUNT_KIND_ID , dk.DK_NAME , d.D_VALUE FROM DISCOUNT d LEFT JOIN DISCOUNT_KIND dk ON dk.ID = d.DISCOUNT_KIND_ID WHERE d.ID = " + SQLInt(id); using (DataTable dtDiscounts = FillDataTable(commandText)) { if (dtDiscounts.Rows.Count > 0) { DataRow drDiscount = dtDiscounts.Rows[0]; model = new DiscountModel() { DiscountId = TryParse.ToInt32(drDiscount["DISCOUNT_ID"]), Name = TryParse.ToString(drDiscount["D_NAME"]), DiscountKindId = TryParse.ToInt32(drDiscount["DISCOUNT_KIND_ID"]), DiscountKindName = TryParse.ToString(drDiscount["DK_NAME"]), ValidFrom = TryParse.ToDateTime(drDiscount["VALID_FROM_DATE"]), ValidTo = TryParse.ToDateTime(drDiscount["VALID_TO_DATE"]), Value = TryParse.ToDecimal(drDiscount["D_VALUE"]), }; } } return(model); }
private static void setRequestParam(HttpRequest request, string param) { if (!string.IsNullOrEmpty(param)) { string[] paramNameValue = param.Split(':'); string value = string.Empty; if (paramNameValue[0] == HttpHeader.Cookie) { request.Cookies = ParseCookie(paramNameValue[1]); } else if (paramNameValue[0] == HttpHeader.ContentLength) { request.Parameters.Add(paramNameValue[0], paramNameValue[1]); request.ContentLength = TryParse.Int32(paramNameValue[1]); } else if (paramNameValue[0] == HttpHeader.Connection) { request.Parameters.Add(paramNameValue[0], paramNameValue[1]); request.ShouldKeepAlive = paramNameValue[1] == HttpHeader.ConnectionKeepAlive; } else { for (int i = 1, icount = paramNameValue.Length; i < icount; i++) { value = string.Concat(value, i > 1 ? ":" : string.Empty, paramNameValue[i].Trim()); } request.Parameters.Add(paramNameValue[0], value); } } }
public DiscountGroupModel GetDiscountGroup(int id) { DiscountGroupModel model = null; string commandText = @"SELECT dg.ID AS DISCOUNT_GROUP_ID , dg.DG_NAME , (SELECT ',' + cast(sgi.DISCOUNT_ID AS nvarchar(MAX)) AS [text()] FROM DISCOUNT_GROUP_ITEM sgi WHERE sgi.DISCOUNT_GROUP_ID = dg.ID For XML PATH ('') ) + ',' AS DISCOUNT_LIST FROM DISCOUNT_GROUP dg WHERE dg.ID = " + SQLInt(id); using (DataTable dtDiscounts = FillDataTable(commandText)) { if (dtDiscounts.Rows.Count > 0) { DataRow drDiscount = dtDiscounts.Rows[0]; model = new DiscountGroupModel() { DiscountGroupId = TryParse.ToInt32(drDiscount["DISCOUNT_GROUP_ID"]), Name = TryParse.ToString(drDiscount["DG_NAME"]), DiscountList = TryParse.ToString(drDiscount["DISCOUNT_LIST"]) }; } } return(model); }
public static T ParseMetadata <T>( this IDictionary <string, string?> metadata, string[] keys, TryParse <T> tryParse, T defaultValueIfPresent, T defaultValueIfNotPresent) { foreach (string key in keys) { if (!metadata.TryGetValue(key, out string?value)) { continue; } if (string.IsNullOrEmpty(value)) { return(defaultValueIfPresent); } if (tryParse(value, out var parsed)) { return(parsed); } ErrorContext.Current?.RegisterError( $"Unable to parse attribute '{key}' with value '{value}' as as type '{typeof(T).Name}'. "); return(defaultValueIfPresent); } return(defaultValueIfNotPresent); }
/// <summary> /// Филтриран списък отстъки /// </summary> public List <ListItemModel> GetFilterList(string term) { List <ListItemModel> model = new List <ListItemModel>(); string filter = ((term == "*") ? "'%'" : String.Format("'%{0}%'", term)); string commandText = @"SELECT TOP 20 d.ID , d.D_NAME FROM DISCOUNT d WHERE d.D_NAME LIKE " + filter + @" ORDER BY d.D_NAME "; using (DataTable dtDiscounts = FillDataTable(commandText)) { foreach (DataRow drDiscount in dtDiscounts.Rows) { model.Add(new ListItemModel() { id = TryParse.ToString(drDiscount["ID"]), label = TryParse.ToString(drDiscount["D_NAME"]), abbrev = "" }); } } return(model); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="sb"></param> protected override void BuildParameterName(object value, ref StringBuilder sb) { if (this.NeedParams && this.Provider != null) { ParamInfo p = this.Provider.BuildParamInfo(false, this._ParamList, value, this._CurrentMemberInfo, ref this._paramIndex); this._ParamList.Add(p); this._paramIndex++; sb.Append(this.Provider.BuildSpecialName(p.Name)); } else { if (value.GetType().IsStringType()) { string text = TryParse.ToString(value); sb.Append("'"); sb.Append(text); sb.Append("'"); } else { string text = TryParse.ToString(value); sb.Append(text); } } }
public static T GetInput <T>( TryParse <T> tryParse = null, string prompt = null, string invalidMessage = null, Predicate <T> validation = null) { if (tryParse is null && (typeof(T) != typeof(string) && !typeof(T).IsEnum && Meta.GetTryParseMethod <T>() is null)) { throw new InvalidOperationException($"Using {nameof(ConsoleHandler)}.{nameof(GetInput)} without providing a {nameof(tryParse)} delegate for a non-supported type {typeof(T).Name}."); } tryParse ??= typeof(T) == typeof(string) ? (string s, out T v) => { v = (T)(object)s; return(true); } : (TryParse <T>)TryParse; validation ??= v => true; GetInput: Console.Write(prompt ?? $"Input a {typeof(T).Name} value: "); if (!tryParse(Console.ReadLine(), out T value) || !validation(value)) { Console.WriteLine(invalidMessage ?? $"Invalid input. Try again..."); goto GetInput; } return(value); }
static void Success() { var guid = System.Guid.NewGuid(); Assert.Equal(TryParse.Guid(guid.ToString()), Some(guid)); Assert.Equal(TryParse.Guid(guid.ToString("X"), "X"), Some(guid)); }
private static Formlet <Nullable <T> > GetNullable <T>(string s, TryParse <T> try_parse) where T : struct { T n = default(T); return(try_parse(s, out n) ? (n) : default(T?)); }
protected override bool ProcessDataGridViewKey(KeyEventArgs e) { if (e.KeyData == Keys.Down) { if (this.SelectedRows.Count > 0 && this.SelectedRows[0].Index == this.RowCount - 1) { this.RowCount++; if (OnRowDefaultValue != null) { OnRowDefaultValue(this, new DefaultValueEventArgs(this.RowCount - 1)); } } } else if (e.Control && e.KeyCode == Keys.Delete) { if (ForzenColumn != null && this.SelectedRows.Count > 0) { if (!string.IsNullOrEmpty(TryParse.ToString(this[ForzenColumn.Index, SelectedRows[0].Index].Value))) { if (MessageBoxHelper.ShowQuestion("确定删除当前行吗?") == DialogResult.OK) { this.Rows.RemoveAt(this.SelectedRows[0].Index); this.RowCount++; } } } } return(base.ProcessDataGridViewKey(e)); }
public static T ParseMetadata <T>( this IDictionary <string, string> metadata, string key, TryParse <T> tryParse, T defaultValueIfPresent, T defaultIfNotPresent) { if (metadata.TryGetValue(key, out string value)) { if (string.IsNullOrEmpty(value)) { return(defaultValueIfPresent); } else if (tryParse(value, out T parsed)) { return(parsed); } else { ErrorContext.Current?.RegisterError($"Unable to parse attribute '{key}' with value '{value}' as as type '{typeof(T).Name}'. "); return(defaultValueIfPresent); } } else { return(defaultIfNotPresent); } }