コード例 #1
0
        private void createTurnReport(DateTime?startDate = null, DateTime?endDate = null)
        {
            try
            {
                TurnReport report = new TurnReport();
                report.Postfix = "сформирован вручную";
                if (startDate == null)
                {
                    int currentDay = DateTime.Now.Day;
                    startDate = DateTime.Now.AddDays(-(currentDay - 1));
                }
                if (endDate == null)
                {
                    endDate = DateTime.Now;
                }
                report.H1 = report.ReportName;

                if (report.Save((DateTime)startDate, (DateTime)endDate))
                {
                    MessageBox.Show("Отчет сохранен!");
                }
                else
                {
                    MessageBox.Show("При формировании отчета произошли ошибки!\nПодробности см. в логе ошибок.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #2
0
        public TurnReport getTRFullTurnDetails(string turnId)
        {
            using (var dataContext = new AusterlitzDbContext())
            {
                var turnReport = new TurnReport();

                var turnCommanders = new GenericRepository <TR_Commanders>(dataContext);
                turnReport.Commanders = turnCommanders.GetItems(x => x.TurnId == turnId).ToArray();

                var turnBrigades = new GenericRepository <TR_Brigades>(dataContext);
                turnReport.Brigades = turnBrigades.GetItems(x => x.TurnId == turnId).ToArray();

                var turnWarships = new GenericRepository <TR_Warships>(dataContext);
                turnReport.Warships = turnWarships.GetItems(x => x.TurnId == turnId).ToArray();

                var turnMerchantShips = new GenericRepository <TR_MerchantShips>(dataContext);
                turnReport.MerchantShips = turnMerchantShips.GetItems(x => x.TurnId == turnId).ToArray();

                var turnBaggageTrains = new GenericRepository <TR_BaggageTrains>(dataContext);
                turnReport.BaggageTrains = turnBaggageTrains.GetItems(x => x.TurnId == turnId).ToArray();

                var turnSpies = new GenericRepository <TR_Spies>(dataContext);
                turnReport.Spies = turnSpies.GetItems(x => x.TurnId == turnId).ToArray();

                var turnStateRelationships = new GenericRepository <TR_StateRelationships>(dataContext);
                turnReport.StateRelationships = turnStateRelationships.GetItems(x => x.TurnId == turnId).ToArray();

                var turnWarehouses = new GenericRepository <TR_Warehouses>(dataContext);
                turnReport.Warehouses = turnWarehouses.GetItems(x => x.TurnId == turnId).ToArray();

                var turnBarracks = new GenericRepository <TR_Barracks>(dataContext);
                turnReport.Barracks = turnBarracks.GetItems(x => x.TurnId == turnId).ToArray();

                var turnTradingPortsAndCities = new GenericRepository <TR_TradingPortsAndCities>(dataContext);
                turnReport.TradingPortsAndCities = turnTradingPortsAndCities.GetItems(x => x.TurnId == turnId).ToArray();

                List <MovementItems> movementItems = turnReport.Commanders.Select(x => new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.Commander, MP = x.MP, X = x.X, Y = x.Y
                }).ToList();
                var dummy = 0;

                movementItems.AddRange(turnReport.Brigades.Select(x =>
                                                                  new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.Brigade, MP = x.MP
                    , X    = Int32.TryParse(x.X_OrState, out dummy) ? int.Parse(x.X_OrState) : 0
                    , Y    = Int32.TryParse(x.Y_OrFleet, out dummy) ? int.Parse(x.Y_OrFleet) : 0
                }).ToList());

                // can add more union stuff here if necessary, not sure it makes much difference

                movementItems.AddRange(turnReport.Warships.Select(x => new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.Warship, MP = x.MP, X = x.X, Y = x.Y
                }).ToList());
                movementItems.AddRange(turnReport.MerchantShips.Select(x => new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.MerchantShip, MP = x.MP, X = x.X, Y = x.Y
                }).ToList());
                movementItems.AddRange(turnReport.BaggageTrains.Select(x => new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.BaggageTrain, MP = x.MP, X = x.X, Y = x.Y
                }).ToList());
                movementItems.AddRange(turnReport.Spies.Select(x => new MovementItems()
                {
                    ItemNo = x.ItemNo, ItemType = ItemType.Spy, MP = 75, X = x.X, Y = x.Y
                }).ToList());

                turnReport.MovementItemList = movementItems.ToArray();
                turnReport.MapCoordinates   = GetMapCoordinates(turnId);

                return(turnReport);
            }
        }