internal static int AddNew(Damage item, UnitOfWork unitOfWork, bool commit = false) { DB.Damages dbItem; using (var items = new XPCollection <DB.Damages>(unitOfWork)) { if (item.Id > 0) { dbItem = items.FirstOrDefault(q => q.Id == item.Id); if (dbItem != null) { dbItem.Archive = false; } } else { dbItem = new DB.Damages(unitOfWork) { Description = item.Description, Detail = item.Detail, }; } items.Add(FillDependencies(unitOfWork, dbItem, item)); } if (commit) { unitOfWork.CommitChanges(); } return(dbItem.Id); }
private static DB.Damages FillDependencies(UnitOfWork unitOfWork, DB.Damages dbItem, Damage item) { using (var items = new XPCollection <DB.Cars>(unitOfWork)) { dbItem.Car = items.FirstOrDefault(q => q.Id == item.CarId); } return(dbItem); }
internal static Damage ToModel(DB.Damages dbItem) { return(new Damage() { Id = dbItem.Id, Description = dbItem.Description, Detail = dbItem.Detail, CarId = dbItem.Car.Id, Archive = dbItem.Archive }); }
internal static int AddNew(Damage item) { using (var unitOfWork = new UnitOfWork()) { DB.Damages dbItem; using (var items = new XPCollection <DB.Damages>(unitOfWork)) { dbItem = new DB.Damages(unitOfWork) { Description = item.Description, Detail = item.Detail, }; items.Add(FillDependencies(unitOfWork, dbItem, item)); } unitOfWork.CommitChanges(); return(dbItem.Id); } }