/// <summary> /// Get active bars from database /// </summary> /// <returns>Return all active values from database</returns> public List <BarModel> GetBars() { List <Bar> bars; using (BarGraphEntities data = new BarGraphEntities()) { bars = data.Bars.Where(con => con.DeleteDate == null) .OrderBy(ob => ob.Name).ToList(); } return(BarMapping.MapDataObjectListToBussinesObjectList(bars)); }
/// <summary> /// Add new or override old bars with new data /// </summary> /// <param name="bars"> new data list for upload </param> /// <returns></returns> public List <BarModel> UploadData(List <BarModel> bars) { List <BarModel> returnBars = new List <BarModel>(); using (BarGraphEntities data = new BarGraphEntities()) { using (DbContextTransaction transaction = data.Database.BeginTransaction()) { try { //Read old data and prepare for update (set end date) var existBars = data.Bars.Where(con => con.DeleteDate == null).ToList(); existBars.ForEach(item => item.DeleteDate = DateTime.Now); //Prapare new data for insert foreach (var bar in bars) { data.Bars.Add(BarMapping.MapBussinesObjectToDataObject(bar)); } data.SaveChanges(); transaction.Commit(); returnBars = BarMapping.MapDataObjectListToBussinesObjectList( data.Bars .Where(cond => cond.DeleteDate == null) .ToList() ); } catch (Exception) { transaction.Rollback(); } } } return(returnBars); }