Пример #1
0
        public IActionResult CreateNewClassRelType()
        {
            var newRelation = new AddNewClassRelTypeViewModel();

            newRelation = RelTypeModelPrepareForView(newRelation);

            return(View(newRelation));
        }
Пример #2
0
        private AddNewClassRelTypeViewModel RelTypeModelPrepareForView(AddNewClassRelTypeViewModel newRelation)
        {
            newRelation.SourceClassId = this.classification.GetClassNames()
                                        .Select(a => new SelectListItem
            {
                Text  = a,
                Value = a
            })
                                        .ToList();
            newRelation.SourceClassId.Insert(0, new SelectListItem
            {
                Text     = ChooseValue,
                Value    = ChooseValue,
                Selected = true
            });
            newRelation.SourceClassVersionId.Insert(0, new SelectListItem
            {
                Text     = ChooseValue,
                Value    = ChooseValue,
                Selected = true
            });

            newRelation.DestClassId = this.classification.GetClassNames()
                                      .Select(a => new SelectListItem
            {
                Text  = a,
                Value = a
            })
                                      .ToList();
            newRelation.DestClassId.Insert(0, new SelectListItem
            {
                Text     = ChooseValue,
                Value    = ChooseValue,
                Selected = true
            });
            newRelation.DestClassVersionId.Insert(0, new SelectListItem
            {
                Text     = ChooseValue,
                Value    = ChooseValue,
                Selected = true
            });

            //newRelation.Valid_From = DateTime.UtcNow.Date;

            return(newRelation);
        }
Пример #3
0
        public async Task <IActionResult> CreateNewClassRelType(AddNewClassRelTypeViewModel model, string SourceCode, string DestCode, string SourceVersionCode, string DestVersionCode)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    model = RelTypeModelPrepareForView(model);
                    return(View(model));
                }
                var existingClassificationsCodes = this.classification.GetClassNames();
                if (!existingClassificationsCodes.Contains(SourceCode) || !existingClassificationsCodes.Contains(DestCode))
                {
                    TempData[ErrorMessageKey] = "Няма класификация с такъв код";
                    model = RelTypeModelPrepareForView(model);
                    return(View(model));
                }
                if (!await this.versions.IsClassVersionExistAsync(SourceCode, SourceVersionCode) || !await this.versions.IsClassVersionExistAsync(DestCode, DestVersionCode))
                {
                    TempData[ErrorMessageKey] = "Няма класификационна версия с такъв код";
                    model = RelTypeModelPrepareForView(model);
                    return(View(model));
                }


                bool result = await this.classification.AddRelationTypeAsync(SourceCode, SourceVersionCode, DestCode, DestVersionCode, model.Description, model.Valid_From, model.Valid_To);

                if (result)
                {
                    TempData[SuccessMessageKey] = $"Релацията {model.Description} е създадена успешно";
                }
                else
                {
                    TempData[ErrorMessageKey] = "Релацията не е създадена";
                    model = RelTypeModelPrepareForView(model);
                    return(View(model));
                }

                return(RedirectToAction("AdminTasks", "Users", new { area = "Admin" }));
            }
            catch (Exception)
            {
                TempData[ErrorMessageKey] = "Грешка! Релацията не е създадена";
                return(RedirectToAction("AdminTasks", "Users", new { area = "Admin" }));
            }
        }