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); } }
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, "خطا در ثبت درخواست")); } }