Example #1
0
 public int UpdateStudent(Person person)
 {
     using (TransactionScope tran = new TransactionScope()) {
         Persons.AddOrUpdate(person);
         Students.AddOrUpdate(new Student()
         {
             Id = person.Id
         });
         // Complete();
         tran.Complete();
         return(person.Id);
     }
 }
Example #2
0
        public static async Task AddStudents(this IStudentRepository studentRepository, IGroupRepository groupRepository,
                                             ICourseRepository courseRepository, int count)
        {
            await groupRepository.AddGroups(courseRepository, count);

            var groups = await groupRepository.GetAll() as List <Group>;

            for (var i = 0; i < count; i++)
            {
                var faker = new Faker <Student>()
                            .RuleFor(s => s.FirstName, f => f.Random.String2(30))
                            .RuleFor(s => s.LastName, f => f.Random.String2(30))
                            .RuleFor(s => s.Group, f => f.Random.ListItem(groups));

                faker.Generate(count).ForEach(async(s) => await studentRepository.AddOrUpdate(s));
            }
        }
        public async Task <IActionResult> AddStudent(Student student, int groupId)
        {
            if (student == null)
            {
                return(NotFound());
            }

            if (ModelState.IsValid == false || groupId == default)
            {
                ViewBag.Title = "Data is not valid";
                return(View("AddPage", student));
            }

            student.Group = await _groupRepository.GetById(groupId);

            await _studentRepository.AddOrUpdate(student);

            return(Redirect("~/Student/All"));
        }
        /// <summary>
        /// ذخیره موقت درخواست به همراه پروفایل و دانشجو و شخص
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public Tuple <bool, string> AddorUpdateRequest(RequestModel requestModel)
        {
            try
            {
                var student = _studentRepository.Where(s => s.StudentNumber == requestModel.StudentNumber).FirstOrDefault() ?? new Student();
                student.StudentNumber  = requestModel.StudentNumber;
                student.FieldofStudyId = requestModel.FieldofStudyId;
                //student.Grade = requestModel.Grade;
                //student.MilitaryServiceStatus = requestModel.MilitaryServiceStatus;

                var profile = _profileRepository.Where(p => p.NationalCode == requestModel.NationalCode).FirstOrDefault() ?? new Profile
                {
                    Name         = requestModel.Name,
                    Family       = requestModel.Family,
                    NationalCode = requestModel.NationalCode,
                    //Gender = requestModel.Gender
                };

                var request = _requestRepository.Find(i => i.Id == requestModel.Id) ?? new Request();
                request.RequestType            = requestModel.RequestType;
                request.NumberofRemainingUnits = requestModel.NumberofRemainingUnits;
                request.NumberofSpentUnits     = requestModel.NumberofSpentUnits;
                request.RequestStatus          = requestModel.RequestStatus;
                request.Description            = requestModel.Description;

                long personId = 0;
                if (profile.PersonId == 0)
                {
                    Person person = new Person
                    {
                        Profile = profile,
                        Student = student
                    };
                    _personRepository.Add(person);
                    personId = person.Id;
                }
                else
                {
                    personId         = profile.PersonId;
                    student.PersonId = profile.PersonId;
                    _studentRepository.AddOrUpdate(s => s.PersonId, student);
                }

                if (request.Id > 0)
                {
                    _requestRepository.Update(request);
                }
                else
                {
                    var member = _memberMasterRepository.Where(m => m.Active).FirstOrDefault();
                    request.PersonId = personId;
                    if (member != null)
                    {
                        request.MemberMasterId = member.Id;
                    }
                    _requestRepository.Add(request);
                }
                _unitOfWork.SaveChanges();
                return(new Tuple <bool, string>(true, "عملیات ثبت به درستی انجام شد"));
            }
            catch (Exception exception)
            {
                return(new Tuple <bool, string>(false, "خطا در ثبت درخواست"));
            }
        }