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); } }
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); } }