using EnVisage.Models; using System; using System.Collections.Generic; using System.Data.Entity; using System.Data.Entity.Infrastructure; using System.Linq; using System.Web; namespace EnVisage.Code.BLL { public class ParseRecordManager : ManagerBase { public override DbSet DataTable { get { return DbContext.supt_tbl_RecParser; } } public ParseRecordManager(EnVisageEntities dbContext) : base(dbContext) { } protected override supt_tbl_RecParser InitInstance() { return new supt_tbl_RecParser { Id = Guid.NewGuid() }; } public override supt_tbl_RecParser Save(ParseRecordModel model) { if (model.Id != Guid.Empty) { var items2Delete = DbContext.supt_tbl_RecParser.Where(t => t.Id == model.Id); foreach (var supt_tbl_RecParser in items2Delete) { DbContext.Entry(supt_tbl_RecParser).State = EntityState.Deleted; } } var obj = base.Save(model); //DbContext.supt_tbl_RecParser.Add(new supt_tbl_RecParser //{ // ProcessID = model.ProcessID, // Id = model.Id, // ToType = model.ToType, // ToName = model.ToName, // ToField = model.ToField, // StartPos = model.StartPos, // Length = model.Length, // index = model.index, // isDelimited = model.isDelimited, // Delimitor = model.Delimitor, // AdditionalFormat = model.AdditionalFormat, // DBFieldFormat = model.DBFieldFormat, // TableOrder = model.TableOrder, // ForeignKey = model.ForeignKey //}); return obj; } protected override supt_tbl_RecParser RetrieveReadOnlyById(Guid key) { return DataTable.AsNoTracking().FirstOrDefault(t => t.Id == key); } public IList getProcessIDs() { var resources = new List(); foreach (var x in DataTable) { resources.Add(new ParseRecordModel() { Id = x.Id, ProcessID = x.ProcessID, ToType = x.ToType, ToName = x.ToName, ToField = x.ToField, StartPos = x.StartPos, Length = x.Length, index = x.index, isDelimited = x.isDelimited, Delimitor = x.Delimitor, AdditionalFormat = x.AdditionalFormat, Overlay = x.Overlay, DBFieldFormat = x.DBFieldFormat, TableOrder = x.TableOrder, ForeignKey = x.ForeignKey }); } return resources; } public IList GetRecordDefinition(string schemaID) { var resources = new List(); foreach (var x in DataTable.Where(x => x.ProcessID == schemaID)) { resources.Add(new ParseRecordModel() { Id = x.Id, ProcessID = x.ProcessID, ToType = x.ToType, ToName = x.ToName, ToField = x.ToField, StartPos = x.StartPos, Length = x.Length, index = x.index, isDelimited = x.isDelimited, Delimitor = x.Delimitor, AdditionalFormat = x.AdditionalFormat, Overlay = x.Overlay, DBFieldFormat = x.DBFieldFormat, TableOrder = x.TableOrder, ForeignKey = x.ForeignKey }); } return resources; } } }