Beispiel #1
0
        public AuthResponse RegisterGraduate(GraduateRegisterVM graduate)
        {
            var dbUser  = this._repository.Users.FindByLoginPassword(graduate.User.Login.Login, graduate.User.Login.Password);
            var context = new AuthResponse();

            if (dbUser == null)
            {
                var entity         = this._mapper.Map <Graduate>(graduate);
                var journal        = new GraduateJournal();
                var educationPhase = new EducationPhase();
                var attestaion     = new Attestation();
                attestaion.DepartmentProtocol = new Protocol();
                attestaion.CommissionProtocol = new Protocol();
                educationPhase.Attestations.Add(attestaion);

                journal.EducationYears.Add(educationPhase);
                journal.RationalInfo.Protocol = new Protocol();
                journal.WorkPlans.Add(new WorkPlan());

                entity.GraduateJournals.Add(journal);
                entity.User.RoleId = this.GetOrAddRole(RoleNames.Graduate);

                this._repository.Graduates.Add(entity);
                this._repository.Save();

                context.User                 = this._mapper.Map <UserContext>(entity.User);
                context.User.Role            = RoleNames.Graduate;
                context.User.SpecifiedUserId = entity.GraduateId;

                return(context);
            }

            context.Alert = Config.LoginExist;
            return(context);
        }
        protected virtual Content GenerateEducationPhaseContent(EducationPhase phase)
        {
            var content = new Content(
                new FieldContent("TripsInternships", phase.TripsInternships.ValueOrDefault()),
                new FieldContent("SubWorks", phase.SubWorks.ValueOrDefault()),
                new FieldContent("EducationPhasePublications", phase.Publications.ValueOrDefault()),
                new FieldContent("EducationPhaseScienceParticipations", phase.ScienceParticipations.ValueOrDefault()),
                new FieldContent("EducationPhaseSubResearchResults", phase.SubResearchResults.ValueOrDefault()),
                new FieldContent("EducationPhaseReportSubmitDate", phase.SubmitDate?.ToShortDateString() ?? "")
                );

            var scienceActivities = this.GenerateScienceActivities(phase.ScienceActivities);
            var calendarReport    = this.GenerateCalendarReport(phase.CalendarStages);

            content.Tables.Add(scienceActivities);
            content.Tables.Add(calendarReport);

            return(content);
        }