public async Task <bool> InsertAsync(LockVersionViewModel viewModel)
        {
            var entity = new LockVersion()
            {
                Id          = viewModel.Id,
                Name        = viewModel.Name,
                Description = viewModel.Description,
            };

            await _lockVersions.AddAsync(entity);

            var result = await _unitOfWork.SaveChangesAsync();

            return(result != 0);
        }
        public async Task <bool> UpdateAsync(LockVersionViewModel viewModel)
        {
            var entity = await _lockVersions.FindAsync(viewModel.Id);

            if (entity != null)
            {
                entity.Name        = viewModel.Name;
                entity.Description = viewModel.Description;

                var result = await _unitOfWork.SaveChangesAsync();

                return(result != 0);
            }

            return(await Task.FromResult(false));
        }
        public async Task <IActionResult> Edit(LockVersionViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (await _lockVersionService.CheckExistNameAsync(viewModel.Id, viewModel.Name))
                {
                    ModelState.AddModelError(nameof(viewModel.Name), "نام وارد شده تکراری است");
                    return(View(viewModel));
                }

                var result = await _lockVersionService.UpdateAsync(viewModel);

                if (result)
                {
                    return(RedirectToAction("Index", "LockVersions"));
                }

                return(View(viewModel));
            }

            return(View(viewModel));
        }
        public async Task <IActionResult> Delete(LockVersionViewModel viewModel)
        {
            var lockVersionViewModel = await _lockVersionService.GetByIdAsync(viewModel.Id);

            if (lockVersionViewModel == null)
            {
                ModelState.AddModelError("", SoftwareVersionNotFound);
            }
            else
            {
                var result = await _lockVersionService.DeleteAsync(lockVersionViewModel.Id);

                if (result)
                {
                    return(Json(new { success = true }));
                }

                ModelState.AddModelError("", SoftwareVersionNotFound);
            }

            return(PartialView("_Delete", model: viewModel));
        }
        public async Task <IActionResult> RenderCreate()
        {
            var viewModel = new LockVersionViewModel();

            return(View("Create", viewModel));
        }