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); }
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); } }
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; }