Esempio n. 1
0
        public TS_02DemolishItems[] GetTSDemolishItems(string turnId)
        {
            using (var dataContext = new AusterlitzDbContext())
            {
                var listRepository = new GenericRepository <TS_02DemolishItems>(dataContext);
                var tsItems        = listRepository.GetItems(x => x.TurnId == turnId).OrderBy(y => y.OrderNo);

                if (tsItems.Count() == 0)
                {
                    var newItems = new TS_02DemolishItems[6];

                    for (var itemCount = 1; itemCount <= newItems.Count(); itemCount++)
                    {
                        TS_02DemolishItems item = new TS_02DemolishItems()
                        {
                            TurnId = turnId, OrderNo = itemCount
                        };
                        newItems[itemCount - 1] = item;
                    }

                    listRepository.InsertRange(newItems);
                    dataContext.SaveChanges();
                    tsItems = listRepository.GetItems(x => x.TurnId == turnId).OrderBy(y => y.OrderNo);
                }
                return(tsItems.ToArray());
            }
        }
Esempio n. 2
0
        public TS_00TurnDetails[] GetTSTurnDetails(string turnId)
        {
            using (var dataContext = new AusterlitzDbContext())
            {
                var listRepository = new GenericRepository <TS_00TurnDetails>(dataContext);
                var tsItems        = listRepository.GetItems(x => x.TurnId == turnId);

                if (tsItems.Count() == 0)
                {
                    var newItems = new TS_00TurnDetails[1];

                    for (var itemCount = 1; itemCount <= newItems.Count(); itemCount++)
                    {
                        TS_00TurnDetails item = new TS_00TurnDetails()
                        {
                            TurnId = turnId
                        };
                        newItems[itemCount - 1] = item;
                    }

                    listRepository.InsertRange(newItems);
                    dataContext.SaveChanges();
                    tsItems = listRepository.GetItems(x => x.TurnId == turnId);
                }
                return(tsItems.ToArray());
            }
        }
Esempio n. 3
0
 public TS_00TurnDetails PostTSTurnDetails(TS_00TurnDetails tsPostedRecords)
 {
     using (var dataContext = new AusterlitzDbContext())
     {
         var listRepository = new GenericRepository <TS_00TurnDetails>(dataContext);
         listRepository.Insert(tsPostedRecords);
         var result = listRepository.GetItems(x => x.TurnId == tsPostedRecords.TurnId);
         dataContext.SaveChanges();
         return(result.ToArray()[0]);
     }
 }
Esempio n. 4
0
        //http://stackoverflow.com/questions/4029493/update-existing-entitycollection-in-entity-framework
        public virtual IEnumerable <T> SaveRange(T[] entities)
        {
            IEnumerable <T> result;

            foreach (var entity in entities)
            {
                var original = GetItems((x => x.TurnId == entity.TurnId && x.OrderNo == entity.OrderNo)).Single();
                if (original != null)
                {
                    _austerlitzDbContext.Entry(original).CurrentValues.SetValues(entity);
                }
                else
                {
                    dbSet.Add(entity);
                    _austerlitzDbContext.Entry(entity).State = EntityState.Added;
                }
            }

            _austerlitzDbContext.SaveChanges();

            result = GetItemsByTurnId(entities[0].TurnId);

            return(result);
        }
Esempio n. 5
0
        private int loadPoliticalMap(ArrayList lineList, int lineLocation, AusterlitzDbContext auDB)
        {
            bool locationFound      = false;
            int  xStart             = 0;
            var  coordinatesOnALine = new REF_PoliticalMapCoordinates[40];
            var  y = 0;

            var mapBoundaryEurope1   = "    1  2  3  4  5  6  7  8  9";
            var mapBoundaryEurope2   = "   41 42 43 44 45 46 47 48 49 50";
            var mapBoundaryCarribean = "    1  2  3  4  5  6";
            var mapBoundaryIndies    = "   51 52 53 54 55";
            var mapBoundaryText      = mapBoundaryEurope1;

            // delete all the existing coordinate ... in future, dont do this as should only load once...
            var existingCoordinates = auDB.REF_PoliticalMapCoordinates;

            auDB.REF_PoliticalMapCoordinates.RemoveRange(existingCoordinates);

            for (; lineLocation < lineList.Count; lineLocation++)
            {
                var lineToProcess = lineList[lineLocation].ToString();

                if (lineToProcess.IndexOf(mapBoundaryText) != -1)
                {
                    if (locationFound)
                    {
                        locationFound = false;
                        if (mapBoundaryText == mapBoundaryEurope1)
                        {
                            mapBoundaryText = mapBoundaryEurope2;
                        }
                        else if (mapBoundaryText == mapBoundaryEurope2)
                        {
                            mapBoundaryText = mapBoundaryCarribean;
                        }
                        else if (mapBoundaryText == mapBoundaryCarribean)
                        {
                            mapBoundaryText = mapBoundaryIndies;
                        }
                        else if (mapBoundaryText == mapBoundaryIndies)
                        {
                            break; // finished!
                        }
                    }
                    else
                    {
                        locationFound = true;
                        lineLocation  = lineLocation + 1; //skip two lines and switch on brigadeCapture
                        lineToProcess = lineList[lineLocation].ToString();

                        if (mapBoundaryText == mapBoundaryEurope1)
                        {
                            xStart = 1;
                            y      = 1;
                        }
                        else if (mapBoundaryText == mapBoundaryEurope2)
                        {
                            xStart = 41;
                            y      = 1;
                        }
                        else if (mapBoundaryText == mapBoundaryCarribean)
                        {
                            xStart = 1;
                            y      = 70;
                        }
                        else if (mapBoundaryText == mapBoundaryIndies)
                        {
                            xStart = 51;
                            y      = 70;
                        }
                    }
                }

                if (locationFound)
                {
                    if (lineToProcess.IndexOf(mapBoundaryText) != -1)
                    {
                        break;
                    }

                    for (var x = xStart; x < xStart + 40; x++)
                    {
                        var    newCoordinate = new REF_PoliticalMapCoordinates();
                        string coordinate    = lineToProcess.Substring(3 + (x - xStart) * 3, 3);

                        newCoordinate.X                = x;
                        newCoordinate.Y                = y;
                        newCoordinate.Owner            = coordinate.Substring(0, 1);
                        newCoordinate.Terrain          = coordinate.Substring(1, 1);
                        newCoordinate.Bonus            = coordinate.Substring(2, 1);
                        coordinatesOnALine[x - xStart] = newCoordinate;
                    }

                    auDB.REF_PoliticalMapCoordinates.AddRange(coordinatesOnALine);
                    auDB.SaveChanges();
                    y++;
                }
            }

            return(lineLocation);
        }