Exemple #1
0
        /// <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;
     }
 }
Exemple #5
0
        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);
        }
Exemple #7
0
        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>());
        }
Exemple #12
0
        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);
        }
Exemple #14
0
        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);
        }
Exemple #15
0
 /// <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));
 }
Exemple #16
0
        /// <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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
 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);
        }
Exemple #21
0
 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;
 }
Exemple #22
0
        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);
        }
Exemple #24
0
        /// <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);
        }
Exemple #25
0
    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);
    }
Exemple #26
0
        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);
        }
Exemple #27
0
        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);
        }
Exemple #28
0
        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);
        }
Exemple #29
0
        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);
        }
Exemple #30
0
        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);
        }