Пример #1
0
        public async Task <IActionResult> Create(ComponentFormViewModel viewModel, [FromQuery] int sheetType)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                viewModel.CreatedById = user.Id;

                if (sheetType == (int)SheetTypeEnum.ComponentConst)
                {
                    viewModel.DFIndicatorId = (int)DFIndicatorEnum.GDPByExpenditureAtMarketPricesConstantprices;
                    _componentConstantRepository.AddVer(viewModel.MapToComponentConstantVerModel());
                    _toastNotification.AddSuccessToastMessage("Element has been Created successfully.");
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Definitions > Economic Indicators > Component > Constant", "Constant ID " + viewModel.DFIndicatorId);
                    return(RedirectToAction(nameof(Index), new { sheetType = (int)SheetTypeEnum.ComponentConst }));
                }
                if (sheetType == (int)SheetTypeEnum.ComponentCurrent)
                {
                    viewModel.DFIndicatorId = (int)DFIndicatorEnum.GDPByExpenditureAtMarketPricesCurrentPrices;
                    _componentCurrenttRepository.AddVer(viewModel.MapToComponentCurrentVerModel());
                    _toastNotification.AddSuccessToastMessage("Element has been Created successfully.");
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Definitions > Economic Indicators > Component > Current", "Current  ID " + viewModel.DFIndicatorId);
                    return(RedirectToAction(nameof(Index), new { sheetType = (int)SheetTypeEnum.ComponentCurrent }));
                }
            }
            CreateCommon(sheetType);
            return(View(viewModel));
        }
Пример #2
0
        private IActionResult EditCurrent(ComponentFormViewModel viewModel, out int id, bool fromDelete = false)
        {
            var componentCurrentVersion = _componentCurrenttRepository.GetByComponentCurrentId(viewModel.ComponentId ?? 0);
            var componentCurrentById    = _componentCurrenttRepository.GetVerById(viewModel.Id);

            componentCurrentVersion = componentCurrentById == null ? componentCurrentVersion : componentCurrentById;
            var componentCurrentVersionModel = viewModel.MapToComponentCurrentVerModel();

            componentCurrentVersionModel.ComponentCurrentId = viewModel.ComponentId > 0 ? viewModel.ComponentId : (int?)null;
            if (!fromDelete)
            {
                componentCurrentVersionModel.ChangeActionEnum = ChangeActionEIEnum.Update;
                componentCurrentVersionModel.IsDeleted        = false;
            }
            else
            {
                componentCurrentVersionModel.ChangeActionEnum = ChangeActionEIEnum.Delete;
            }
            if (componentCurrentVersion == null || componentCurrentVersionModel.VersionStatusEnum == VersionStatusEIEnum.Approved || componentCurrentVersionModel.VersionStatusEnum == VersionStatusEIEnum.Ignored)
            {
                var user = _userManager.GetUserAsync(HttpContext.User);
                componentCurrentVersionModel.VersionStatusEnum = VersionStatusEIEnum.Draft;
                componentCurrentVersionModel.Id          = 0;
                componentCurrentVersionModel.CreatedById = user.Result.Id;


                _componentCurrenttRepository.AddVer(componentCurrentVersionModel);
                _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                id = componentCurrentVersionModel.Id;
                return(RedirectToAction(nameof(Index), new { sheetType = (int)SheetTypeEnum.ComponentCurrent }));
            }

            componentCurrentVersionModel.Id = componentCurrentVersion != null ? componentCurrentVersion.Id : viewModel.Id;

            _componentCurrenttRepository.UpdateVer(componentCurrentVersionModel);
            id = componentCurrentVersionModel.Id;
            _toastNotification.AddSuccessToastMessage("Element has been Edited successfully.");
            _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Definitions > Economic Indicators > Component > current", "current  ID " + viewModel.Id);
            return(RedirectToAction(nameof(Index), new { sheetType = (int)SheetTypeEnum.ComponentCurrent }));
        }