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 })); }
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, "خطای سیستمی، لطفا با پشتیبانی شرکت تماس حاصب فرمائید")); } }