Ejemplo n.º 1
0
        public SheetRulePair[] GetExportRulesIdByOperator(Operator op, IQueryable <ExelSheet> existedSheets)
        {
            var  result       = new SheetRulePair[] { };
            bool wasException = false;
            var  logSesson    = Helpers.Old.Log.SessionStart(string.Format("DataAccess.GetExportRulesIdByOperator(id:{0})", op == null ? "null" : op.Id.ToString()), true);

            try
            {
                using (var dc = exelconverterEntities2.New())
                {
                    string export_rule =
                        dc
                        .operator_export_rule
                        .Where(r => r.operator_id == op.Id && r.export_rules != null)
                        .Select(r => r.export_rules)
                        .FirstOrDefault();

                    if (!string.IsNullOrWhiteSpace(export_rule))
                    {
                        result =
                            export_rule
                            .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
                            .Select(i =>
                        {
                            var prts = i.Split(new char[] { ':' });
                            if (prts.Length == 2)
                            {
                                return new SheetRulePair(existedSheets)
                                {
                                    Rule      = op.MappingRules.FirstOrDefault(r => r.Id.ToString() == prts[0]),
                                    SheetName = prts[1].ToLower().Trim()
                                }
                            }
                            ;
                            else
                            {
                                return(null);
                            }
                        })
                            .Where(i => i != null)
                            .ToArray();
                    }
                }
            }
            catch (Exception ex)
            {
                wasException = true;

                Helpers.Old.Log.Add(logSesson, ex.GetExceptionText());
                throw ex;
            }
            finally
            {
                Helpers.Old.Log.SessionEnd(logSesson, wasException);
            }

            return(result);
        }
Ejemplo n.º 2
0
        public void SetExportedRulesForOperator(Operator op, SheetRulePair[] exportRules)
        {
            bool wasException = false;
            var logSesson = Helpers.Old.Log.SessionStart(string.Format("DataAccess.SetExportedRulesForOperator(id:{0})", op == null ? "null" : op.Id.ToString()), true);
            try
            {
                using (var dc = exelconverterEntities2.New())
                {
                    string ruleString = string.Empty;

                    var validRules = exportRules
                                        .Where(i => i.Rule != null && !string.IsNullOrWhiteSpace(i.Sheet?.Name ?? i.SheetName))
                                        .Select(i => string.Format("{0}:{1}", i.Rule.Id, i.Sheet?.Name ?? i.SheetName))
                                        .ToArray();
                    if (validRules.Length > 0)
                        ruleString = validRules.Aggregate((s1, s2) => $"{s1};{s2}");

                    var export_rule =
                        dc
                        .operator_export_rule
                        .FirstOrDefault(r => r.operator_id == op.Id);

                    if (export_rule != null)
                    {
                        if (export_rule.export_rules != ruleString)
                        {
                            export_rule.export_rules = ruleString;
                            dc.SaveChanges();
                        }
                    } else
                    {
                        dc.operator_export_rule.Add(
                            new operator_export_rule() { operator_id = (int)op.Id, export_rules = ruleString }
                            );
                        dc.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                wasException = true;
                Helpers.Old.Log.Add(logSesson, ex.GetExceptionText());
                throw ex;
            }
            finally
            {
                Helpers.Old.Log.SessionEnd(logSesson, wasException);
            }
        }
Ejemplo n.º 3
0
        public SheetRulePair[] GetExportRulesIdByOperator(Operator op, IQueryable<ExelSheet> existedSheets)
        {
            var result = new SheetRulePair[] { };
            bool wasException = false;
            var logSesson = Helpers.Old.Log.SessionStart(string.Format("DataAccess.GetExportRulesIdByOperator(id:{0})", op == null ? "null" : op.Id.ToString()), true);
            try
            {
                using (var dc = exelconverterEntities2.New())
                {
                    string export_rule =
                        dc
                        .operator_export_rule
                        .Where(r => r.operator_id == op.Id && r.export_rules != null)
                        .Select(r=>r.export_rules)
                        .FirstOrDefault();

                    if (!string.IsNullOrWhiteSpace(export_rule))
                        result =
                            export_rule
                            .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
                            .Select(i =>
                                {
                                    var prts = i.Split(new char[] { ':' });
                                    if (prts.Length == 2)
                                        return new SheetRulePair(existedSheets)
                                            {
                                                Rule = op.MappingRules.FirstOrDefault(r => r.Id.ToString() == prts[0]),
                                                SheetName = prts[1].ToLower().Trim()
                                            };
                                        else return null;
                                })
                            .Where(i => i != null)
                            .ToArray();
                }
            }
            catch (Exception ex)
            {
                wasException = true;
                Helpers.Old.Log.Add(logSesson, ex.GetExceptionText());
                throw ex;
            }
            finally
            {
                Helpers.Old.Log.SessionEnd(logSesson, wasException);
            }

            return result;
        }