예제 #1
0
        public async Task <ActionResult <DepartViewModel> > UpdateDepart(int id, DepartViewModel departViewModel)
        {
            try
            {
                if (id != departViewModel.Depart.Id)
                {
                    return(BadRequest("Depart ID mismatch"));
                }

                var departToUpdate = await departRepository.GetDepart(id);

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

                // Add custom model validation error
                Depart dep = await departRepository.GetDepartByname(departViewModel.Depart);

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

                return(await departRepository.UpdateDepart(departViewModel));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
예제 #2
0
        public async Task <ActionResult <DepartViewModel> > CreateDepart(DepartViewModel departViewModel)
        {
            try
            {
                if (departViewModel == null)
                {
                    return(BadRequest());
                }

                // Add custom model validation error
                Depart dep = await departRepository.GetDepartByname(departViewModel.Depart);

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

                departViewModel = await departRepository.AddDepart(departViewModel);

                return(CreatedAtAction(nameof(GetDepart),
                                       new { id = departViewModel.Depart.Id }, departViewModel));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }
예제 #3
0
        public async Task <DepartViewModel> GetDepart(int departId)
        {
            DepartViewModel departViewModel = new DepartViewModel();

            departViewModel.Depart = await appDbContext.Departs.FirstOrDefaultAsync(e => e.Id == departId);

            return(departViewModel);
        }
예제 #4
0
        public async Task <DepartViewModel> AddDepart(DepartViewModel departViewModel)
        {
            var result = await appDbContext.Departs.AddAsync(departViewModel.Depart);

            await appDbContext.SaveChangesAsync();

            departViewModel.Depart = result.Entity;
            return(departViewModel);
        }
예제 #5
0
        public async Task <DepartViewModel> DeleteDepart(int id)
        {
            DepartViewModel departViewModel = new DepartViewModel();

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

            if (!response.Success)
            {
                departViewModel.Exception = await response.GetBody();
            }
            return(departViewModel);
        }
예제 #6
0
        public ActionResult EditDepartment(DepartViewModel model)
        {
            string         acc            = "AC003";
            DepartmentCtrl departmentCtrl = new DepartmentCtrl(acc, model.SID);

            departmentCtrl.Department.DepartName = model.departName;
            departmentCtrl.Modifer();
            var resulst = new
            {
                departmentCtrl.Code,
                departmentCtrl.Msg
            };

            return(Json(resulst, "text/html", JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        public async Task <DepartViewModel> CreateDepart(DepartViewModel departViewModel)
        {
            var dataJson      = System.Text.Json.JsonSerializer.Serialize(departViewModel);
            var stringContent = new StringContent(dataJson, Encoding.UTF8, "application/json");
            var responseHTTP  = await httpClient.PostAsync(url, stringContent);

            if (responseHTTP.IsSuccessStatusCode)
            {
                departViewModel = await Deserialize <DepartViewModel>(responseHTTP, defaultJsonSerializerOptions);
            }
            else
            {
                departViewModel.Exception = await responseHTTP.Content.ReadAsStringAsync();
            }
            return(departViewModel);
        }
예제 #8
0
        public async Task <DepartViewModel> UpdateDepart(DepartViewModel departViewModel)
        {
            var result = await appDbContext.Departs
                         .FirstOrDefaultAsync(e => e.Id == departViewModel.Depart.Id);

            if (result != null)
            {
                result.Name = departViewModel.Depart.Name;
                await appDbContext.SaveChangesAsync();

                return(new DepartViewModel {
                    Depart = result
                });
            }

            return(null);
        }
예제 #9
0
        public ActionResult AddDepartment(DepartViewModel model)
        {
            string         acc            = "AC003";
            DepartmentCtrl departmentCtrl = new DepartmentCtrl(acc);

            departmentCtrl.Department            = new Department();
            departmentCtrl.Department.DepartName = model.departName;
            departmentCtrl.Department.Creator    = "admin";
            departmentCtrl.Department.CreatDate  = DateTime.Now.ToString("yyyy-MM-dd");
            departmentCtrl.Save();
            var resulst = new
            {
                departmentCtrl.Code,
                departmentCtrl.Msg
            };

            return(Json(resulst, JsonRequestBehavior.AllowGet));
        }