コード例 #1
0
        public static FleetViewModel GetByFleetId(string fleetid)
        {
            FleetViewModel result = new FleetViewModel();

            using (var db = new FleetManagementContext())
            {
                result = (from flt in db.MstFleets
                          join kar in db.MstKaroseris
                          on flt.KaroseriId equals kar.KaroseriId
                          join tyb in db.MstTypeBus
                          on flt.TypeId equals tyb.TypeId
                          join mrk in db.MstMerkBus
                          on tyb.MerkId equals mrk.MerkId
                          //where flt.Id == fleetid
                          where flt.FleetId == fleetid
                          select new FleetViewModel
                {
                    Id = flt.Id,
                    FleetId = flt.FleetId,
                    TypeId = flt.TypeId,
                    TypeName = tyb.Description,
                    MerkId = tyb.MerkId,
                    MerkName = mrk.MerkId,
                    LicenseNumber = flt.LicenseNumber,
                    KaroseriId = flt.KaroseriId,
                    KaroseriName = kar.Description,
                    SeatCapacity = flt.SeatCapacity,
                    IsActive = flt.IsActive
                }).FirstOrDefault();
            }
            return(result);
        }
コード例 #2
0
        public static double GetExactViewRange(this FleetViewModel fleetViewModel)
        {
            Type type  = typeof(FleetViewModel);
            var  fleet = type.GetField("source", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public).GetValue(fleetViewModel) as Fleet;

            return(ViewRangeSelectorViewModel.Instance.CalcTotalViewRange(fleet));
        }
コード例 #3
0
 public FleetView()
 {
     InitializeComponent();
     fleetViewModel   = new FleetViewModel();
     this.DataContext = fleetViewModel;
     this.lstFleet.SelectionChanged += new SelectionChangedEventHandler(lstFleet_SelectionChanged);
 }
コード例 #4
0
        public static int GetViewRange(this FleetViewModel fleetViewModel)
        {
            Type type  = typeof(FleetViewModel);
            var  fleet = type.GetField("source", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public).GetValue(fleetViewModel) as Fleet;

            return(fleet.TotalViewRange);
        }
コード例 #5
0
        // GET: Planet/Fleet
        public ActionResult Index()
        {
            var userId = User != null ? User.Identity.GetUserId() : string.Empty;

            var barracksLevel = this.buildingsService.GetPlayerBuildings(userId).BarracksLevel;
            var fleet = this.fleetService.GetPlayerFleet(userId);
            var cheaperFleet = this.techService.GetPlayerTechnologies(userId).CheaperFleetLevel;

            var cheaperFleetModifier = this.logic.Technologies.CheaperFleet.Modifier[cheaperFleet];

            var vM = new FleetViewModel(barracksLevel, fleet)
            {
                Scout = new UnitViewModel(fleet.ScoutsQuantity, fleet.DispatchedScouts, this.logic.Ships.Scout, cheaperFleetModifier),
                Carrier = new UnitViewModel(fleet.CarriersQuantity, fleet.DispatchedCarriers, this.logic.Ships.Carrier, cheaperFleetModifier),
                Fighter = new UnitViewModel(fleet.FighterQuantity, fleet.DispatchedFighters, this.logic.Ships.Fighter, cheaperFleetModifier),
                Interceptor = new UnitViewModel(fleet.InterceptorQuantity, fleet.DispatchedInterceptors, this.logic.Ships.Interceptor, cheaperFleetModifier),
                Bomber = new UnitViewModel(fleet.BomberQuantity, fleet.DispatchedBombers, this.logic.Ships.Bomber, cheaperFleetModifier),
                Juggernaut = new UnitViewModel(fleet.JuggernautQuantity, fleet.DispatchedJuggernauts, this.logic.Ships.Juggernaut, cheaperFleetModifier)
            };

            var reqRes = this.playerService.GetPlayerResources(userId);
            ViewBag.Energy = reqRes.Energy;
            ViewBag.Crystal = reqRes.Crystal;
            ViewBag.Metal = reqRes.Metal;

            return View(vM);
        }
コード例 #6
0
 public ActionResult CreateEdit(FleetViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (FleetDataAccess.Update(model))
             {
                 return(Json(new { success = true, Message = "Success" }, JsonRequestBehavior.AllowGet));
             }
             else
             {
                 return(Json(new { success = false, Message = FleetDataAccess.Message }, JsonRequestBehavior.AllowGet));
             }
         }
         else
         {
             return(Json(new { success = false, Message = "Please complete all required field" }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception Ex)
     {
         return(Json(new { success = false, Message = Ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
コード例 #7
0
        public ActionResult Edit(int id)
        {
            FleetViewModel model = FleetDataAccess.GetById(id);

            ViewBag.KaroseriList = new SelectList(KaroseriDataAccess.GetAll(), "KaroseriId", "Description");
            ViewBag.MerkBusList  = new SelectList(MerkBusDataAccess.GetAll(), "MerkId", "Description");
            ViewBag.TypeBusList  = new SelectList(TypeBusDataAccess.GetByMerkBus(model.MerkId), "TypeId", "Description");
            return(View(model));
        }
コード例 #8
0
        public FleetsViewModel(GameViewModel rpOwner)
        {
            Owner = rpOwner;

            KanColleGame.Current.ObservablePropertyChanged.Where(r => r == "Fleets").Subscribe(_ =>
            {
                Fleets = KanColleGame.Current.Fleets.Values.Select(r => new FleetViewModel(Owner, r)).ToArray();
                SelectedFleet = Fleets.FirstOrDefault();
            });
        }
コード例 #9
0
        public ActionResult Fleet()
        {
            FleetViewModel model = new FleetViewModel();

            var list = new List <Coach>();

            foreach (var item in dbcontext.Coaches.ToList())
            {
                list.Add(item);
            }
            model.List = list;

            return(View(model));
        }
コード例 #10
0
        /// <summary>
        /// 艦隊の索敵値を計算します。
        /// </summary>
        /// <returns></returns>
        public static int CalcFleetViewRange(FleetViewModel fleetVM, ViewRangeType type)
        {
            if (fleetVM == null || fleetVM.Ships.Length == 0)
            {
                return(0);
            }

            var fleet = fleetVM.GetFleet();

            switch (type)
            {
            case ViewRangeType.Type1:
                #region Type1

                return(fleet.Ships.Sum(x => x.ViewRange));

                #endregion
            case ViewRangeType.Type2:
                #region Type2

                // http://wikiwiki.jp/kancolle/?%C6%EE%C0%BE%BD%F4%C5%E7%B3%A4%B0%E8#area5
                // [索敵装備と装備例] によって示されている計算式
                // stype=7 が偵察機 (2 倍する索敵値)、stype=8 が電探

                var spotter = fleet.Ships.SelectMany(
                    x => x.SlotItems
                    .Zip(x.OnSlot, (i, o) => new { Item = i.Info, Slot = o })
                    .Where(a => a.Item.GetRawData().api_type.Get(1) == 7)
                    .Where(a => a.Slot > 0)
                    .Select(a => a.Item.GetRawData().api_saku)
                    ).Sum();

                var radar = fleet.Ships.SelectMany(
                    x => x.SlotItems
                    .Where(i => i.Info.GetRawData().api_type.Get(1) == 8)
                    .Select(i => i.Info.GetRawData().api_saku)
                    ).Sum();

                return((spotter * 2) + radar + (int)Math.Sqrt(fleet.Ships.Sum(x => x.ViewRange) - spotter - radar));

                #endregion
            }

            return(0);
        }
コード例 #11
0
        public static bool Update(FleetViewModel model)
        {
            bool result = true;

            try
            {
                using (var db = new FleetManagementContext())
                {
                    if (model.Id == 0)
                    {
                        MstFleet flt = new MstFleet();
                        flt.FleetId       = model.FleetId;
                        flt.TypeId        = model.TypeId;
                        flt.LicenseNumber = model.LicenseNumber;
                        flt.KaroseriId    = model.KaroseriId;
                        flt.SeatCapacity  = model.SeatCapacity;
                        flt.IsActive      = model.IsActive;
                        db.MstFleets.Add(flt);
                        db.SaveChanges();
                    }
                    else
                    {
                        MstFleet flt = db.MstFleets.Where(o => o.Id == model.Id).FirstOrDefault();
                        if (flt != null)
                        {
                            flt.FleetId       = model.FleetId;
                            flt.TypeId        = model.TypeId;
                            flt.LicenseNumber = model.LicenseNumber;
                            flt.KaroseriId    = model.KaroseriId;
                            flt.SeatCapacity  = model.SeatCapacity;
                            flt.IsActive      = model.IsActive;
                            db.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                Message = Ex.Message;
                result  = false;
            }

            return(result);
        }
コード例 #12
0
ファイル: ViewRangeEx.cs プロジェクト: ChipsetS/KcvPlugins
 public static Fleet GetFleet(this FleetViewModel data)
 {
     return(data.GetField <Fleet>("source"));
 }
コード例 #13
0
 public ActionResult Edit(FleetViewModel model)
 {
     return(CreateEdit(model));
 }