EnVisageOnline/Main/Source/EnVisage/Code/BLL/ParseRecordManager.cs

124 lines
4.1 KiB
C#

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<supt_tbl_RecParser,ParseRecordModel>
{
public override DbSet<supt_tbl_RecParser> 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<ParseRecordModel> getProcessIDs()
{
var resources = new List<ParseRecordModel>();
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<ParseRecordModel> GetRecordDefinition(string schemaID)
{
var resources = new List<ParseRecordModel>();
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;
}
}
}