public async Task <IActionResult> PutArmy([FromRoute] Guid id, [FromBody] PlanArmy army)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != army.PlanArmyId)
            {
                return(BadRequest());
            }

            _context.Entry(army).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ArmyExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        internal void CopyArmy()
        {
            PlanArmy army = SelectedArmy.PlanArmy;

            army.PlanUnits.Clear();

            var armyItems = new List <PlanUnit>();

            foreach (PlanUnitViewModel armyItemVM in SelectedArmy.PlanUnits)
            {
                PlanUnit armyItem = armyItemVM.PlanUnit;

                armyItem.Options = armyItemVM.Options.Select(option => option.Option).ToList();

                army.PlanUnits.Add(armyItemVM.PlanUnit);
            }

            var copiedArmy = new PlanArmyViewModel()
            {
                PlanArmy = StaticHelper.DeepClone(army)
            };

            Armies.Add(copiedArmy);

            SelectedArmy = copiedArmy;
        }
        public async void SaveArmies()
        {
            var armies = new List <PlanArmy>();

            foreach (PlanArmyViewModel armyVM in Armies)
            {
                PlanArmy army = armyVM.PlanArmy;
                if (army.PlanArmyId == null)
                {
                    army.PlanArmyId = Guid.NewGuid();
                }
                army.PlanUnits.Clear();

                var armyUnits = new List <PlanUnit>();
                foreach (PlanUnitViewModel armyUnitVM in armyVM.PlanUnits)
                {
                    PlanUnit armyUnit = armyUnitVM.PlanUnit;
                    if (armyUnit.PlanUnitId == null)
                    {
                        armyUnit.PlanUnitId = Guid.NewGuid();
                    }

                    armyUnit.PlanArmyId = army.PlanArmyId;
                    armyUnit.Options    = armyUnitVM.Options.Select(option => option.Option).ToList();

                    army.PlanUnits.Add(armyUnitVM.PlanUnit);
                }
            }

            _armyProvider.SaveArmies(armies);
        }
        public async Task <IActionResult> PostArmy([FromBody] PlanArmy army)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.PlanArmy.Add(army);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetArmy", new { id = army.PlanArmyId }, army));
        }
        public async Task <IActionResult> GetArmy([FromRoute] string idString)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var id = new Guid(idString);

            PlanArmy selectedArmy = _context.PlanArmy.Include(e => e.PlanUnits).ThenInclude(e => e.Options).FirstOrDefault(army => army.PlanArmyId == id);

            if (selectedArmy == null)
            {
                return(NotFound());
            }

            return(Ok(selectedArmy));
        }
        private async void SaveArmy(PlanArmy army)
        {
            // Construct the HttpClient and Uri. This endpoint is for test purposes only.
            Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient();
            Uri uri = new Uri(Constants.ArmiesController);

            // Construct the JSON to post.
            Windows.Web.Http.HttpStringContent content = new Windows.Web.Http.HttpStringContent(
                JsonConvert.SerializeObject(army),
                Windows.Storage.Streams.UnicodeEncoding.Utf8,
                "application/json");

            // Post the JSON and wait for a response.
            Windows.Web.Http.HttpResponseMessage httpResponseMessage = await httpClient.PostAsync(
                uri,
                content);

            // Make sure the post succeeded, and write out the response.
            httpResponseMessage.EnsureSuccessStatusCode();
            var httpResponseBody = await httpResponseMessage.Content.ReadAsStringAsync();
        }
Exemple #7
0
 public object GetAllContent()
 {
     return(PlanArmy.Include(e => e.PlanUnits).ThenInclude(e => e.Options).ToList());
 }