Beispiel #1
0
        public Tuple <bool, string> Delete(StructureTreeModel model)
        {
            try
            {
                var exist = _organizationStructureNameRepository.Where(x => x.Id == model.OrgId).Any();
                if (!exist)
                {
                    return(new Tuple <bool, string>(false, "خطا در انجام عملیات، درخواست نامعتبر"));
                }
                _unitOfWork.BeginTransaction();
                switch (model.StructureType)
                {
                case StructureType.College:
                    if (_postPersonRepository.Contains(x => x.CollegeId == model.Id))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات، انتساب سمت در این سطح انجام شده است!"));
                    }
                    if (_educationalGroupRepository.Contains(x => x.CollegeId == model.Id))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات، این آیتم زیرمجموعه دارد!"));
                    }
                    _collegeRepository.Delete(x => x.Id == model.Id);
                    _organizationStructureNameRepository.Delete(x => x.Id == model.OrgId);
                    break;

                case StructureType.EducationalGroup:
                    if (_postPersonRepository.Contains(x => x.EducationalGroupId == model.Id))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات، انتساب سمت در این سطح انجام شده است!"));
                    }
                    if (_fieldofStudyRepository.Contains(x => x.EducationalGroupId == model.Id))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات، این آیتم زیرمجموعه دارد!"));
                    }
                    _educationalGroupRepository.Delete(x => x.Id == model.Id);
                    _organizationStructureNameRepository.Delete(x => x.Id == model.OrgId);
                    break;

                case StructureType.FieldofStudy:
                    if (_studentRepository.Contains(x => x.FieldofStudyId == model.Id))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات، دانشجو در این رشته تعریف شده است!"));
                    }
                    _fieldofStudyRepository.Delete(x => x.Id == model.Id);
                    _organizationStructureNameRepository.Delete(x => x.Id == model.OrgId);
                    break;
                }
                _unitOfWork.SaveChanges();
                _unitOfWork.CommitTransaction();
                return(new Tuple <bool, string>(true, "عملیات حذف انجام شد"));
            }
            catch (Exception exception)
            {
                _unitOfWork.Rollback();
                return(new Tuple <bool, string>(false, "خطا در انجام عملیات"));
            }
        }
        public virtual ActionResult Delete(StructureTreeModel model)
        {
            ModelState.Remove("Text");
            if (!ModelState.IsValid || string.IsNullOrEmpty(model.Id.ToString()) || string.IsNullOrEmpty(model.OrgId.ToString()))
            {
                return(Json(new { IsError = true, Message = "ورودی نامعتبر" }));
            }

            var result = _structureManageService.Delete(model);

            return(Json(new { IsError = !result.Item1, Message = result.Item2 }));
        }
        public virtual ActionResult Create(StructureTreeModel model)
        {
            //var error = ModelState.Values.SelectMany(x => x.Errors).Select(c => c.ErrorMessage).ToList();
            if (!ModelState.IsValid)
            {
                return(Json(new { IsError = true, Message = "ورودی نامعتبر" }));
            }

            var result = _structureManageService.AddorUpdateStructureComplete(model);

            return(Json(new { IsError = !result.Item1, Message = result.Item2 }));
        }
        public virtual ActionResult EditName(StructureTreeModel model)
        {
            if (!ModelState.IsValid || model.OrgId == null)
            {
                return(Json(new { IsError = true, Message = "ورودی نامعتبر" }));
            }

            var org = new OrganizationStructureName
            {
                Id = (long)model.OrgId, Name = model.Text, StructureType = model.StructureType
            };
            var result = _structureManageService.AddOrUpdateStructure(org, StateOperation.ویرایش);

            return(Json(new { IsError = !result.Item1, Message = result.Item2 }));
        }
Beispiel #5
0
        public Tuple <bool, string> AddorUpdateStructureComplete(StructureTreeModel model)
        {
            var exist = _organizationStructureNameRepository.Find(x => x.Name == model.Text);

            if (exist != null)
            {
                return(new Tuple <bool, string>(false, "خطا در انجام عملیات : عنوان وارد شده تکراریست"));
            }

            if (model.StructureType == StructureType.FieldofStudy)
            {
                return(new Tuple <bool, string>(false, "امکان ثبت اطلاعات برای سطح رشته آموزشی وجود ندارد"));
            }
            try
            {
                _unitOfWork.BeginTransaction();
                // ذخیره در جدول ساختار
                var org = new OrganizationStructureName {
                    Name = model.Text
                };
                switch (model.StructureType)
                {
                case StructureType.University:
                    org.StructureType = StructureType.College;
                    break;

                case StructureType.College:
                    org.StructureType = StructureType.EducationalGroup;
                    break;

                case StructureType.EducationalGroup:
                    org.StructureType = StructureType.FieldofStudy;
                    break;
                }

                var result = AddOrUpdateStructure(org, StateOperation.درج);
                // پایان ذخیره در جدول ساختار

                switch (model.StructureType)
                {
                case StructureType.University:
                    var college = new College {
                        UniversityId = model.ParentId, OrganizationStructureNameId = org.Id, OrganizationStructureName = org
                    };
                    result = AddOrUpdateCollege(college, StateOperation.درج);
                    break;

                case StructureType.College:
                    var edu = new EducationalGroup {
                        CollegeId = model.ParentId, OrganizationStructureNameId = org.Id, OrganizationStructureName = org
                    };
                    result = AddOrUpdateEducationGroup(edu, StateOperation.درج);
                    break;

                case StructureType.EducationalGroup:
                    var fs = new FieldofStudy {
                        EducationalGroupId = model.ParentId, OrganizationStructureNameId = org.Id, OrganizationStructureName = org
                    };
                    result = AddOrUpdatefieldofStudy(fs, StateOperation.درج);
                    break;
                }
                _unitOfWork.CommitTransaction();
                return(new Tuple <bool, string>(result.Item1, result.Item2));
            }
            catch (Exception)
            {
                _unitOfWork.Rollback();
                return(new Tuple <bool, string>(true, "خطای سیستمی، لطفا با پشتیبانی شرکت تماس حاصب فرمائید"));
            }
        }