/// <summary> /// 针对工资调整硬编码 /// </summary> /// <param name="row"></param> /// <returns></returns> public static ImportTaxAdjust HardCode(ExcelDataRow row) { var t = new ImportTaxAdjust(); t.S_WorkerCode = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerCode").ColValue.Replace(" ", ""); t.S_WorkerName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerName").ColValue.Replace(" ", ""); //t.S_OrgName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_OrgName").ColValue; t.Adjust9 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust9")?.ColValue)); t.Adjust10 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust10")?.ColValue)); t.Adjust11 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust11")?.ColValue)); t.Adjust12 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust12")?.ColValue)); t.Adjust13 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust13")?.ColValue)); t.Adjust14 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust14")?.ColValue)); t.Adjust15 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust15")?.ColValue)); t.Adjust16 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust16")?.ColValue)); t.Adjust17 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust17")?.ColValue)); t.Adjust18 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust18")?.ColValue)); t.Adjust19 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust19")?.ColValue)); t.Adjust20 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust20")?.ColValue)); t.Adjust21 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust21")?.ColValue)); t.Adjust22 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust22")?.ColValue)); t.Adjust23 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust23")?.ColValue)); t.Adjust24 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust24")?.ColValue)); t.Adjust25 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust25")?.ColValue)); t.Adjust26 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust26")?.ColValue)); t.Adjust27 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust27")?.ColValue)); t.Adjust28 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust28")?.ColValue)); t.S_Remark = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_Remark").ColValue; return(t); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.Tests.ToLower().Contains("feedback") && row.Tests.ToLower().Contains("crucible")) { result.SignalColor = Colors.Green; result.Score = 10; } else if (row.Tests.ToLower().Contains("documented")) { result.SignalColor = Colors.Yellow; result.Score = 8; } else { if (row.Tests.ToLower().Contains("verbally")) { result.SignalColor = Colors.Red; result.Score = 4; } else { result.SignalColor = Colors.Red; result.Score = 2; } } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.ScrumPractices.Contains("release/sprint planning")) { result.Score += 4; } if (row.ScrumPractices.Contains("team estimation discussions")) { result.Score += 4; } if (row.ScrumPractices.Contains("daily scrums")) { result.Score += 1; } if (row.ScrumPractices.Contains("retrospectives") || row.ScrumPractices.Contains("Maintained burn-down") || row.ScrumPractices.Contains("sprint velocity")) { result.Score += 1; } if (row.ScrumPractices.Contains("pair programming") && result.Score < 9) { result.Score += 1; } result.SignalColor = result.Score > 8 ? Colors.Green : result.Score < 8 ? Colors.Red : Colors.Yellow; Logger.LogRuleResult(this, result); return(result); }
public IDictionary <string, IDictionary <string, string> > ReadTranslations() { try { var excelFileNames = _des.GetMatchingFileNames( _excelTranslationsFolder, _excelTranslationsFileSkeleton); var rows = new List <ExcelDataRow>(); foreach (var excelFileName in excelFileNames) { using var xReader = new ExcelReader(_log, excelFileName); var nbRows = xReader.RowCount; var header = new ExcelHeaderRow(xReader); // start at row one to skip the header for (var r = 1; r < nbRows; r++) { var row = new ExcelDataRow(xReader, header.LangMap, r); rows.Add(row); } } return(rows.ToDictionary( k => k.Key, v => v.Translations)); } catch (Exception e) { _log(e); throw; } }
public static List <ExcelDataRow> GetExcelDataRows(int rowsCount, int colsCount) { var rows = new List <ExcelDataRow>(); for (int i = 0; i < rowsCount; i++) { var row = new ExcelDataRow() { DataCols = new List <ExcelDataCol>(), IsValid = true }; for (int j = 0; j < colsCount; j++) { var col = new ExcelDataCol() { ColIndex = j, ColName = $"p{j + 1}", PropertyName = $"p{j + 1}", RowIndex = i, ColValue = $"r{i + 1}c{j + 1}" }; row.DataCols.Add(col); } rows.Add(row); } return(rows); }
/// <summary> /// 利用反射将ExcelDataRow转换为制定类型,性能较差 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="row"></param> /// <returns></returns> private static T ConvertByRefelection <T>(this ExcelDataRow row, IEnumerable <PropertyInfo> props = null) { if (props == null) { props = typeof(T).GetProperties(); } object o = Activator.CreateInstance(typeof(T)); props.ToList().ForEach(p => { ExcelDataCol col = null; if (p.IsDefined(typeof(ColNameAttribute))) { col = row.DataCols.SingleOrDefault(c => c.ColName == p.GetCustomAttribute <ColNameAttribute>().ColName); } else { col = row.DataCols.SingleOrDefault(c => c.ColName == p.Name); } if (col != null) { p.SetValue(o, ExpressionMapper.ChangeType(col.ColValue, p.PropertyType)); } }); return((T)o); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.ProjectManagementTool.Contains("na") || row.ProjectManagementTool.Contains("none")) { result.SignalColor = Colors.Red; result.Score = 0; } else { List <string> tools = new List <string>(); tools.Add("jira"); tools.Add("hp qc"); tools.Add("tfs"); tools.Add("mingle"); tools.Add("trello"); tools.Add("salesforce"); if (tools.Any(s => row.ProjectManagementTool.Contains(s))) { result.SignalColor = Colors.Green; result.Score = 10; } else { result.SignalColor = Colors.Yellow; result.Score = 8; } } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.DevModel.ToLower().Contains("mixed") && row.Tests.ToLower().Contains("agile/scrum")) { result.SignalColor = Colors.Green; result.Score = 5; } else if (row.DevModel.ToLower().Contains("mixed") && row.Tests.ToLower().Contains("waterfall")) { result.SignalColor = Colors.Yellow; result.Score = 4; } else { result.SignalColor = Colors.Red; //manual evaluation for score Random r = new Random(); int rInt = r.Next(1, 9); result.Score = rInt; } Logger.LogRuleResult(this, result); return(result); }
/// <summary> /// 设置Excel行的校验结果 /// </summary> /// <param name="row"></param> /// <param name="isValid"></param> /// <param name="col"></param> /// <param name="errorMsg"></param> public static void SetNotValid(this ExcelDataRow row, bool isValid, ExcelDataCol dataCol, string errorMsg) { if (!isValid) { row.IsValid = false; row.ErrorMsg += dataCol.ColName + errorMsg + ";"; } }
/// <summary> /// 将IRow转换为ExcelDataRow /// </summary> /// <typeparam name="TTemplate"></typeparam> /// <param name="row"></param> /// <param name="headerRow"></param> /// <returns></returns> public static ExcelDataRow Convert <TTemplate>(IRow row, ExcelHeaderRow headerRow) { Type type = typeof(TTemplate); var props = type.GetProperties().ToList(); ExcelDataRow dataRow = new ExcelDataRow() { DataCols = new List <ExcelDataCol>(), ErrorMsg = string.Empty, IsValid = true, RowIndex = row.RowNum }; ExcelDataCol dataCol; string colName; string propertyName; string key; for (int i = 0; i < headerRow.Cells.Count; i++) { colName = headerRow?.Cells?.SingleOrDefault(h => h.ColIndex == i)?.ColName; if (colName == null) { continue; } key = $"{type.FullName}_{i}"; if (Table[key] == null) { //优先匹配ColName特性值 var matchProperty = props.FirstOrDefault(p => p.GetCustomAttribute <ColNameAttribute>()?.ColName == colName); if (matchProperty == null) { //次之匹配属性名 matchProperty = props.FirstOrDefault(p => p.Name.Equals(colName, StringComparison.CurrentCultureIgnoreCase)); } propertyName = matchProperty?.Name; Table[key] = propertyName; } dataCol = new ExcelDataCol() { ColIndex = i, ColName = colName, PropertyName = Table[key]?.ToString(), RowIndex = row.RowNum, ColValue = row.GetCell(i) == null ? string.Empty : row.GetCell(i).GetStringValue() }; dataRow.DataCols.Add(dataCol); } return(dataRow); }
public static T Convert <T>(this ExcelDataRow row) { if (row == null) { return(default(T)); } return(row.ConvertByRefelection <T>()); }
public Result Evaluate(ExcelDataRow row) { var color = row.HasRepositorySystem == false ? Colors.Red : (row.HasBackup == true ? Colors.Green : Colors.Yellow); Result result = new Result { SignalColor = color, Score = color == Colors.Red ? 0 : color == Colors.Green ? 5 : 4 }; Logger.LogRuleResult(this, result); return(result); }
private static object GetValue(ExcelDataRow row, Type propType, string colName) { string val = row.DataCols.SingleOrDefault(c => c.ColName == colName)?.ColValue; if (!string.IsNullOrWhiteSpace(val)) { return(ExpressionMapper.ChangeType(val, propType)); } return(val); }
public Result Evaluate(ExcelDataRow row) { var color = row.DocTool == "RedDocTool" ? Colors.Red : row.DocTool == "YellowDocTool" ? Colors.Yellow : Colors.Green; Result result = new Result { SignalColor = color, Score = color == Colors.Red ? 0 : color == Colors.Yellow ? 8 : 10 }; Logger.LogRuleResult(this, result); return(result); }
/// <summary> /// 将ExcelDataRow快速转换为指定类型 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataRow"></param> /// <returns></returns> public static T FastConvert <T>(ExcelDataRow dataRow, Func <List <ExcelDataCol>, T> func) { //利用表达式树,动态生成委托并缓存,得到接近于硬编码的性能 //最终生成的代码近似于(假设T为Person类) //Func<ExcelDataRow,Person> // new Person(){ // Name = Convert(ChangeType(dataRow.DataCols.SingleOrDefault(c=>c.PropertyName == prop.Name).ColValue,prop.PropertyType),prop.ProertyType), // Age = Convert(ChangeType(dataRow.DataCols.SingleOrDefault(c=>c.PropertyName == prop.Name).ColValue,prop.PropertyType),prop.ProertyType) // } // } return(func.Invoke(dataRow.DataCols)); }
/// <summary> /// 针对工资调整硬编码 /// </summary> /// <param name="row"></param> /// <returns></returns> public static ImportTaxBonus HardCode(ExcelDataRow row) { var t = new ImportTaxBonus(); t.S_WorkerCode = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerCode").ColValue.Replace(" ", ""); t.S_WorkerName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerName").ColValue.Replace(" ", ""); //t.S_OrgName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_OrgName").ColValue; t.OneTimeBonus = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "OneTimeBonus").ColValue)); t.DeductibleTax = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "DeductibleTax").ColValue)); return(t); }
public Result Evaluate(ExcelDataRow row) { var color = row.BranchingUsed == false ? Colors.Red : (row.TaggedReleases == false ? Colors.Yellow : Colors.Green); Result result = new Result { SignalColor = color, Score = color == Colors.Red ? 0 : color == Colors.Yellow ? 4 : 5 }; Logger.LogRuleResult(this, result); return(result); }
public static ImportCar HardCode(ExcelDataRow row) { return(new ImportCar() { Age = int.Parse(row.DataCols.SingleOrDefault(c => c.PropertyName == "Age").ColValue), CarCode = row.DataCols.SingleOrDefault(c => c.PropertyName == "CarCode").ColValue, Gender = (GenderEnum)Enum.Parse(typeof(GenderEnum), row.DataCols.SingleOrDefault(c => c.PropertyName == "Gender").ColValue), IdentityNumber = row.DataCols.SingleOrDefault(c => c.PropertyName == "IdentityNumber").ColValue, Mobile = row.DataCols.SingleOrDefault(c => c.PropertyName == "Mobile").ColValue, Name = row.DataCols.SingleOrDefault(c => c.PropertyName == "Name").ColValue, RegisterDate = DateTime.Parse(row.DataCols.SingleOrDefault(c => c.PropertyName == "RegisterDate").ColValue) }); }
private static Func <List <ExcelDataCol>, T> GetFunc <T>(ExcelDataRow row) { string propertyNames = string.Empty; row.DataCols.ForEach(c => propertyNames += c.PropertyName + "_"); var key = typeof(T).FullName + "_" + propertyNames.Trim('_'); var props = typeof(T).GetProperties().Where(x => x.CanWrite && x.CanRead); Func <List <ExcelDataCol>, T> func = ExpressionMapper.GetFunc <T>(key, props); return(func); }
/// <summary> /// 将IRow转换为ExcelDataRow /// </summary> /// <typeparam name="TTemplate"></typeparam> /// <param name="row"></param> /// <param name="headerRow"></param> /// <returns></returns> public static ExcelDataRow Convert <TTemplate>(IRow row, ExcelHeaderRow headerRow) { Type type = typeof(TTemplate); ExcelDataRow dataRow = new ExcelDataRow() { DataCols = new List <ExcelDataCol>(), ErrorMsg = string.Empty, IsValid = true, RowIndex = row.RowNum }; ExcelDataCol dataCol; string colName; string propertyName; string key; for (int i = 0; i < headerRow.Cells.Count; i++) { colName = headerRow?.Cells?.SingleOrDefault(h => h.ColIndex == i)?.ColName; if (colName == null) { continue; } key = $"{type.FullName}_{i}"; if (Table[key] == null) { propertyName = type.GetProperties().ToList().FirstOrDefault(p => p.IsDefined(typeof(ColNameAttribute), false) && p.GetCustomAttribute <ColNameAttribute>()?.ColName == colName )?.Name; Table[key] = propertyName; } dataCol = new ExcelDataCol() { ColIndex = i, ColName = colName, PropertyName = Table[key]?.ToString(), RowIndex = row.RowNum, ColValue = row.GetCell(i) == null ? string.Empty : row.GetCell(i).GetStringValue() }; dataRow.DataCols.Add(dataCol); } return(dataRow); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.TestCoverage.ToLower().Contains("more than 80%")) { result.SignalColor = Colors.Green; } else if (row.TestCoverage.ToLower().Contains("50 - 80")) { result.SignalColor = Colors.Yellow; } else { result.SignalColor = Colors.Red; } return result; }
public static ImportTaxBusiness hardCode(ExcelDataRow row) { var t = new ImportTaxBusiness(); DateTimeFormatInfo dtFormat = new DateTimeFormatInfo(); dtFormat.ShortDatePattern = "yyyy/MM/dd"; t.WorkNumber = row.DataCols.SingleOrDefault(c => c.PropertyName == "WorkNumber").ColValue.Replace(" ", "");//工号 t.Name = row.DataCols.SingleOrDefault(c => c.PropertyName == "Name").ColValue.Replace(" ", ""); t.IDType = row.DataCols.SingleOrDefault(c => c.PropertyName == "IDType").ColValue.Replace(" ", ""); t.IDNumber = row.DataCols.SingleOrDefault(c => c.PropertyName == "IDNumber").ColValue.Replace(" ", ""); t.StartTime = Convert.ToDateTime(row.DataCols.SingleOrDefault(c => c.PropertyName == "StartTime").ColValue == ""?" ": row.DataCols.SingleOrDefault(c => c.PropertyName == "StartTime").ColValue, dtFormat); t.EndTime = Convert.ToDateTime(row.DataCols.SingleOrDefault(c => c.PropertyName == "EndTime").ColValue == ""?" ":row.DataCols.SingleOrDefault(c => c.PropertyName == "EndTime").ColValue, dtFormat); t.Income = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Income").ColValue)); t.Tax = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Tax").ColValue)); t.OlderInsurance = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "OlderInsurance").ColValue)); t.HeathInsurance = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "HeathInsurance").ColValue)); t.JobInsurance = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "JobInsurance").ColValue)); t.HousingFund = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "HousingFund").ColValue)); t.ChildEdu = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "ChildEdu").ColValue)); t.ContinueEdu = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "ContinueEdu").ColValue)); t.HousingLoan = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "HousingLoan").ColValue)); t.HousingRent = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "HousingRent").ColValue)); t.Support = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Support").ColValue)); t.EnterpriseAnnuity = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "EnterpriseAnnuity").ColValue)); t.CommercialHealthinsurance = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "CommercialHealthinsurance").ColValue)); t.EndowmentInsurance = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "EndowmentInsurance").ColValue)); t.Other = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Other").ColValue)); t.Donation = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Donation").ColValue)); t.Remark = row.DataCols.SingleOrDefault(c => c.PropertyName == "Remark").ColValue.Replace(" ", ""); t.Deductions = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Deductions").ColValue)); t.TaxSavings = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "TaxSavings").ColValue)); t.Reduction = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Reduction").ColValue)); t.WithholdingTax = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "WithholdingTax").ColValue)); t.AccumulatedIncome = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "AccumulatedIncome").ColValue)); t.AccumulatedSpecialDeduction = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "AccumulatedSpecialDeduction").ColValue)); t.CumulativeOther = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "CumulativeOther").ColValue)); t.TaxRate = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "TaxRate").ColValue)); t.QuickDeduction = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "QuickDeduction").ColValue)); t.AccumulatedTax = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "AccumulatedTax").ColValue)); t.CumulativeWithholding = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "CumulativeWithholding").ColValue)); t.Drawback = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Drawback").ColValue)); t.IncomeItem = row.DataCols.SingleOrDefault(c => c.PropertyName == "IncomeItem").ColValue.Replace(" ", ""); t.Cost = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Cost").ColValue)); return(t); }
public static ImportTaxSalary1 HardCode1(ExcelDataRow row) { var t = new ImportTaxSalary1(); t.S_WorkerCode = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerCode").ColValue.Replace(" ", ""); t.S_WorkerName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_WorkerName").ColValue.Replace(" ", ""); t.S_OrgName = row.DataCols.SingleOrDefault(c => c.PropertyName == "S_OrgName").ColValue.Replace(" ", ""); t.G_GWJGZ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_GWJGZ").ColValue)); t.G_BLGZ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_BLGZ").ColValue)); t.G_GLJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_GLJT").ColValue)); t.G_SGJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_SGJT").ColValue)); t.G_JSJNJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_JSJNJT").ColValue)); t.G_ZFBT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_ZFBT").ColValue)); t.G_BLJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_BLJT").ColValue)); t.G_BYKT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_BYKT").ColValue)); t.G_QTJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_QTJT").ColValue)); t.G_YBJT = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_YBJT").ColValue)); t.G_JBJDGZ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_JBJDGZ").ColValue)); t.G_JCYJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_JCYJ").ColValue)); t.G_YJJJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_YJJJ").ColValue)); t.G_DSZNBJFS = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_DSZNBJFS").ColValue)); t.G_WCBTSF = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_WCBTSF").ColValue)); t.G_BFK = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "G_BFK").ColValue)); t.T_YFHJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "T_YFHJ").ColValue)); t.K_YiLiaoBX = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_YiLiaoBX").ColValue)); t.K_SYBX = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_SYBX").ColValue)); t.K_YangLaoBX = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_YangLaoBX").ColValue)); t.K_ZFGJJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_ZFGJJ").ColValue)); t.K_QYNJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_QYNJ").ColValue)); t.K_QTKX = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_QTKX").ColValue)); t.T_YSHJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "T_YSHJ").ColValue)); t.K_KS = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "K_KS").ColValue)); t.T_SFHJ = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "T_SFHJ").ColValue)); t.Adjust1 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust1").ColValue)); t.Adjust2 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust2").ColValue)); t.Adjust3 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust3").ColValue)); t.Adjust4 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust4").ColValue)); t.Adjust5 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust5").ColValue)); t.Adjust6 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust6").ColValue)); t.Adjust7 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust7").ColValue)); t.Adjust8 = Convert.ToDecimal(isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Adjust8").ColValue)); return(t); }
/// <summary> /// 硬编码 /// </summary> /// <param name="row">excel数据</param> /// <returns></returns> public importService HardCode(ExcelDataRow row) { importService t = new importService(); t.WorkerCode = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "WorkerCode").ColValue); t.WorkerName = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "WorkerName").ColValue); t.IDtype = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "IDtype").ColValue); t.IDNumber = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "IDNumber").ColValue); t.IncomeItem = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "IncomeItem").ColValue); t.Income = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Income").ColValue); t.Tax = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "Tax").ColValue); t.CommercialHealthinsurance = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "CommercialHealthinsurance").ColValue); t.EndowmentInsurance = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "EndowmentInsurance").ColValue); t.Donation = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "Donation").ColValue); t.other = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "other").ColValue); t.TaxSavings = iszero(row.DataCols.SingleOrDefault(c => c.PropertyName == "TaxSavings").ColValue); t.Remark = isnull(row.DataCols.SingleOrDefault(c => c.PropertyName == "Remark").ColValue); return(t); }
public static ExcelDataSet ReadExcel(string excelPath) { ExcelDataSet set = new ExcelDataSet(); if (!File.Exists(excelPath)) { throw new Exception("path not exists"); } try { FileStream stream = File.Open(excelPath, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); do { ExcelDataTable table = new ExcelDataTable(); // sheet name while (excelReader.Read()) { ExcelDataRow row = new ExcelDataRow(); for (int i = 0; i < excelReader.FieldCount; i++) { string value = excelReader.IsDBNull(i) ? "" : excelReader.GetString(i); row.Cells.Add(value); } table.Rows.Add(row); } if (table.Rows.Count > 0) { set.Tables.Add(table); } } while (excelReader.NextResult()); excelReader.Dispose(); stream.Dispose(); } catch (Exception e) { DebugLogWrapper.LogError(e); } return(set); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.AutomatedBuildAndDeployment.Contains("no") || row.AutomatedBuildAndDeployment.Contains("na")) { result.SignalColor = Colors.Red; result.Score = 0; } List <string> conditions = new List <string>(); conditions.Add("build on each commit"); conditions.Add("deploy"); conditions.Add("automation tests"); conditions.Add("pass-fail report"); conditions.Add("converage report"); conditions.Add("dedicated environment"); foreach (var check in conditions) { if (row.AutomatedBuildAndDeployment.Contains(check)) { result.Score += 2; } } if (result.Score < 8) { result.SignalColor = Colors.Red; } else if (result.Score > 8) { result.Score = 10; result.SignalColor = Colors.Green; } else { result.Score = 8; result.SignalColor = Colors.Yellow; } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.DesignDiscussions.Contains("high level design")) { result.SignalColor = Colors.Green; result.Score = 5; } else if (row.DesignDiscussions.Contains("if someone wants to discuss an approach")) { result.SignalColor = Colors.Yellow; result.Score = 4; } else { result.SignalColor = Colors.Red; result.Score = 2; } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.Tests.ToLower().Contains("automated") && row.Tests.ToLower().Contains("mutation")) { result.SignalColor = Colors.Green; result.Score = 10; } else if (row.Tests.ToLower().Contains("unit") && row.Tests.ToLower().Contains("manual")) { result.SignalColor = Colors.Yellow; result.Score = 8; } else { result.SignalColor = Colors.Red; result.Score = 0; } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (!row.FollowCodeGuidelines) { result.SignalColor = Colors.Red; result.Score = 0; } else if (row.GuideLines.Contains("style guide")) { result.SignalColor = Colors.Green; result.Score = 5; } else { result.SignalColor = Colors.Yellow; result.Score = 4; } Logger.LogRuleResult(this, result); return(result); }
public Result Evaluate(ExcelDataRow row) { Result result = new Result(); if (row.Documentation.ToLower().Contains("low level design") && row.Documentation.ToLower().Contains("unit test cases") && row.Documentation.ToLower().Contains("system test cases") && row.Documentation.ToLower().Contains("license agreements")) { result.SignalColor = Colors.Green; result.Score = 10; } else if (row.Documentation.ToLower().Contains("br") && row.Documentation.ToLower().Contains("sr") && row.Documentation.ToLower().Contains("arch") && row.Documentation.ToLower().Contains("tech") && row.Documentation.ToLower().Contains("component") && row.Documentation.ToLower().Contains("design") && row.Documentation.ToLower().Contains("release doc")) { result.SignalColor = Colors.Yellow; result.Score = 8; } else { result.SignalColor = Colors.Red; result.Score = 0; } Logger.LogRuleResult(this, result); return(result); }