internal static int AddNew(Mark item) { using (var unitOfWork = new UnitOfWork()) { DB.Marks dbItem; using (var items = new XPCollection <DB.Marks>(unitOfWork)) { dbItem = items.FirstOrDefault(u => u.Name == item.Name); if (dbItem != null) { throw new Exception(Resources.Marks_AddNew_Такая_марка_уже_есть_); } dbItem = new DB.Marks(unitOfWork) { Name = item.Name, SiteId = item.SiteId }; items.Add(dbItem); } unitOfWork.CommitChanges(); return(dbItem.Id); } }
internal static Mark ToModel(DB.Marks dbItem, UnitOfWork unitOfWork) { var mark = new Mark() { Id = dbItem.Id, Name = dbItem.Name, SiteId = dbItem.SiteId }; foreach (var model in dbItem.ModelsCollection) { mark.Models.Add(CarModels.Read(model.Id, unitOfWork)); } return(mark); }