예제 #1
0
        private static async Task InsertOrUpdateStudent(EducationContext _context, IPostalCodeProviderService service, FormSubmitRequest request, CancellationToken cancellationToken)
        {
            var country = await _context.Countries.Where(x => x.Code == "GR").SingleAsync(cancellationToken);

            var student = await _context.Students
                          .Where(x => x.RegistrationId == request.StudentId)
                          .FirstOrDefaultAsync(cancellationToken);

            if (student == null)
            {
                _context.Students.Add(student = new Student
                {
                    RegistrationId = request.StudentId
                });
            }

            var postalCode = await service.GetPostalCodeAsync(request.PostalCode, cancellationToken);

            student.Gender       = Enum.TryParse(request.Gender, out Gender _gender) ? _gender : Gender.Unspecified;
            student.DepartmentId = await _context.Departments.Where(x => x.Code == request.Department).Select(x => x.Id).FirstOrDefaultAsync(cancellationToken);

            student.Name       = request.Name;
            student.Surname    = request.Surname;
            student.Email      = request.Email;
            student.Mobile     = request.Mobile;
            student.Phone      = request.Phone;
            student.PostalCode = postalCode.Code;
            student.Address    = request.Address;
            student.City       = postalCode.Area;
            student.Prefecture = postalCode.Prefecture;
            student.CountryId  = country.Id;
        }
예제 #2
0
        public FormController(IPostalCodeProviderService postalCodeProviderService, EducationContext educationContext, ILocalizationManager localizationManager)
        {
            this._postalCodeProviderService = postalCodeProviderService;
            this._educationContext          = educationContext;

            this._localizationManager = localizationManager;
        }
예제 #3
0
 public FormSubmitController(EducationContext context, IPostalCodeProviderService postalCodeProviderService)
 {
     this._context = context;
     this._postalCodeProviderService = postalCodeProviderService;
 }