Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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);
        }