Beispiel #1
0
        public async Task <ActionResult <SecViewModel> > UpdateSec(int id, SecViewModel secViewModel)
        {
            try
            {
                if (id != secViewModel.Sec.Id)
                {
                    return(BadRequest("Sec ID mismatch"));
                }

                var secToUpdate = await secRepository.GetSec(id);

                if (secToUpdate == null)
                {
                    return(NotFound($"Sec with Id = {id} not found"));
                }

                // Add custom model validation error
                Sec dep = await secRepository.GetSecByname(secViewModel.Sec);

                if (dep != null)
                {
                    ModelState.AddModelError("Name", $"Sec name: {secViewModel.Sec.Name} already in use");
                    return(BadRequest(ModelState));
                }

                return(await secRepository.UpdateSec(secViewModel));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
Beispiel #2
0
        public async Task <ActionResult <SecViewModel> > CreateSec(SecViewModel secViewModel)
        {
            try
            {
                if (secViewModel == null)
                {
                    return(BadRequest());
                }

                // Add custom model validation error
                Sec dep = await secRepository.GetSecByname(secViewModel.Sec);

                if (dep != null)
                {
                    ModelState.AddModelError("Name", $"Sec name: {secViewModel.Sec.Name} already in use");
                    return(BadRequest(ModelState));
                }

                secViewModel = await secRepository.AddSec(secViewModel);

                return(CreatedAtAction(nameof(GetSec),
                                       new { id = secViewModel.Sec.Id }, secViewModel));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
Beispiel #3
0
        public async Task <SecViewModel> GetSec(int secId)
        {
            SecViewModel secViewModel = new SecViewModel();

            secViewModel.Sec = await appDbContext.Secs.FirstOrDefaultAsync(e => e.Id == secId);

            return(secViewModel);
        }
Beispiel #4
0
        public async Task <SecViewModel> AddSec(SecViewModel secViewModel)
        {
            var result = await appDbContext.Secs.AddAsync(secViewModel.Sec);

            await appDbContext.SaveChangesAsync();

            secViewModel.Sec = result.Entity;
            return(secViewModel);
        }
Beispiel #5
0
        public async Task <SecViewModel> DeleteSec(int id)
        {
            SecViewModel secViewModel = new SecViewModel();

            var response = await httpService.Delete($"{url}/{id}");

            if (!response.Success)
            {
                secViewModel.Exception = await response.GetBody();
            }
            return(secViewModel);
        }
Beispiel #6
0
        public async Task <SecViewModel> CreateSec(SecViewModel secViewModel)
        {
            var dataJson      = System.Text.Json.JsonSerializer.Serialize(secViewModel);
            var stringContent = new StringContent(dataJson, Encoding.UTF8, "application/json");
            var responseHTTP  = await httpClient.PostAsync(url, stringContent);

            if (responseHTTP.IsSuccessStatusCode)
            {
                secViewModel = await Deserialize <SecViewModel>(responseHTTP, defaultJsonSerializerOptions);
            }
            else
            {
                secViewModel.Exception = await responseHTTP.Content.ReadAsStringAsync();
            }
            return(secViewModel);
        }
Beispiel #7
0
        public async Task <SecViewModel> UpdateSec(SecViewModel secViewModel)
        {
            var result = await appDbContext.Secs
                         .FirstOrDefaultAsync(e => e.Id == secViewModel.Sec.Id);

            if (result != null)
            {
                result.Name = secViewModel.Sec.Name;
                await appDbContext.SaveChangesAsync();

                return(new SecViewModel {
                    Sec = result
                });
            }

            return(null);
        }