Ejemplo n.º 1
0
 public Tuple <bool, string> AddOrUpdateStructure(OrganizationStructureName structure, StateOperation stateOperation)
 {
     try
     {
         if (stateOperation == StateOperation.درج)
         {
             var authentication = _organizationStructureNameRepository.Find(x => x.Name == structure.Name);
             if (authentication != null)
             {
                 return(new Tuple <bool, string>(false, "خطا در انجام عملیات : نام مورد نظر تکراری می باشد"));
             }
             _organizationStructureNameRepository.Add(structure);
         }
         else
         {
             if (_organizationStructureNameRepository.Contains(x => x.Id != structure.Id && x.Name == structure.Name))
             {
                 return(new Tuple <bool, string>(false, "خطا در انجام عملیات : نام مورد نظر تکراری می باشد"));
             }
             _organizationStructureNameRepository.Update(structure);
         }
         _unitOfWork.SaveChanges();
         return(new Tuple <bool, string>(true, "عملیات ثبت شد"));
     }
     catch (Exception ex)
     {
         return(new Tuple <bool, string>(false, "خطا در انجام عملیات"));
     }
 }
        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 }));
        }
Ejemplo n.º 3
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, "خطای سیستمی، لطفا با پشتیبانی شرکت تماس حاصب فرمائید"));
            }
        }