Exemple #1
0
        public async Task <ExecutionStatus> Run(CallForSpeechId id, JudgeId judge, CallForSpeechStatus status)
        {
            using var connection = new SqliteConnection(_geekLemonContext.ConnectionString);

            var q = @"UPDATE CallForSpeakes
                SET FinalDecision_DecisionBy = @JudgeId,
                FinalDecision_Date = @Date,
                Status = @Status
                WHERE Id = @Id;";

            try
            {
                var result = await connection.ExecuteAsync(q,
                                                           new
                {
                    @JudgeId = judge.Value,
                    @Date    = AppTime.Now().ToLongDateString(),
                    @Id      = id.Value,
                    @Status  = (int)status
                });

                return(ExecutionStatus.DbOk());
            }
            catch (Exception ex)
            {
                if (ExecutionFlow.Options.ThrowExceptions)
                {
                    throw;
                }

                return(ExecutionStatus.DbError(ex));
            }
        }
        public CallForSpeech(
            CallForSpeechNumber number,
            CallForSpeechStatus status,
            Speaker speaker,
            Speech speech,
            Category category,
            CallForSpeechScoringResult scoreResult,
            Registration registration,
            Decision preliminaryDecision,
            Decision finalDecision,
            CallForSpeechId callForSpeechId)
        {
            if (category == null)
            {
                throw new ArgumentException("Category cannot be null");
            }
            if (number == null)
            {
                throw new ArgumentException("Number cannot be null");
            }
            if (speech == null)
            {
                throw new ArgumentException("speech cannot be null");
            }
            if (speaker == null)
            {
                throw new ArgumentException("speaker cannot be null");
            }
            if (registration == null)
            {
                throw new ArgumentException("Registration cannot be null");
            }

            Id                  = callForSpeechId;
            Number              = number;
            Status              = status;
            ScoreResult         = scoreResult;
            Speech              = speech;
            Speaker             = speaker;
            Registration        = registration;
            PreliminaryDecision = preliminaryDecision;
            FinalDecision       = finalDecision;
            Category            = category;
            UniqueId            = CallForSpeechUniqueId.NewUniqueId();
        }
Exemple #3
0
        public async Task <ExecutionStatus> Run(CallForSpeechId id,
                                                CallForSpeechScoringResult score, CallForSpeechStatus status)
        {
            using var connection = new SqliteConnection(_geekLemonContext.ConnectionString);

            var q = @"UPDATE CallForSpeakes
                SET Score_Score = @Score, 
                Score_RejectExplanation = @RejectExplanation,
                Score_WarringExplanation = @WarringExplanation,
                Status = @Status
                WHERE Id = @Id;";

            try
            {
                var result = await connection.ExecuteAsync(q,
                                                           new
                {
                    @Score = (int)score.Score,
                    @WarringExplanation = score.WarringExplanation,
                    @RejectExplanation  = score.RejectExplanation,
                    @Id     = id.Value,
                    @Status = (int)status
                });

                return(ExecutionStatus.DbOk());
            }
            catch (Exception ex)
            {
                if (ExecutionFlow.Options.ThrowExceptions)
                {
                    throw;
                }

                return(ExecutionStatus.DbError(ex));
            }
        }
 public Task <ExecutionStatus> SavePreliminaryAcceptenceAsync(CallForSpeechUniqueId id, JudgeId judge, CallForSpeechStatus status)
 {
     return(_callForSpeechSavePreliminaryAcceptenceDoer.Run(id, judge, status));
 }
 public Task <ExecutionStatus> SaveEvaluatationAsync(CallForSpeechUniqueId id, CallForSpeechScoringResult score, CallForSpeechStatus status)
 {
     return(_callForSpeechSaveEvaluatationDoer.Run(id, score, status));
 }
 public Task <ExecutionStatus> SaveRejectionAsync(CallForSpeechUniqueId id, JudgeId judge, CallForSpeechStatus status)
 {
     return(_callForSpeechSaveRejectionDoer.Run(id, judge, status));
 }
Exemple #7
0
 public CallForSpeechBuilder PreliminaryAcceptedByJudge()
 {
     targetStatus = CallForSpeechStatus.PreliminaryAcceptedByJudge;
     evaluated    = true;
     return(this);
 }
Exemple #8
0
 public CallForSpeechBuilder New()
 {
     targetStatus = CallForSpeechStatus.New;
     evaluated    = false;
     return(this);
 }
Exemple #9
0
 public CallForSpeechBuilder NotEvaluated()
 {
     evaluated    = false;
     targetStatus = CallForSpeechStatus.New;
     return(this);
 }
Exemple #10
0
 public CallForSpeechBuilder Evaluated()
 {
     evaluated    = true;
     targetStatus = CallForSpeechStatus.EvaluatedByMachine;
     return(this);
 }
Exemple #11
0
 public CallForSpeechBuilder Rejected()
 {
     targetStatus = CallForSpeechStatus.Rejected;
     return(this);
 }
Exemple #12
0
 public CallForSpeechBuilder Accepted()
 {
     targetStatus = CallForSpeechStatus.AcceptedByJudge;
     return(this);
 }
Exemple #13
0
 public AndConstraint <CallForSpeechAssert> BeInStatus(CallForSpeechStatus expectedStatus)
 {
     Subject.Status.Should().Be(expectedStatus);
     return(new AndConstraint <CallForSpeechAssert>(this));
 }
Exemple #14
0
        public CallForSpeech Convert(CallForSpeechTemp source, CallForSpeech destination, ResolutionContext context)
        {
            Category c = new Category(new CategoryId(source.CategoryId))
            {
                DisplayName         = source.Category_DisplayName,
                Name                = source.Category_DisplayName,
                WhatWeAreLookingFor = source.Category_WhatWeAreLookingFor,
            };

            SpeakerWebsites socialMedia = new SpeakerWebsites()
            {
                Blog              = source.Speaker_Websites_Blog,
                Facebook          = source.Speaker_Websites_Facebook,
                FanPageOnFacebook = source.Speaker_Websites_FanPageOnFacebook,
                GitHub            = source.Speaker_Websites_GitHub,
                Instagram         = source.Speaker_Websites_Instagram,
                LinkedIN          = source.Speaker_Websites_LinkedIn,
                TikTok            = source.Speaker_Websites_TikTok,
                Twitter           = source.Speaker_Websites_Twitter,
                YouTube           = source.Speaker_Websites_Youtube
            };

            Address address = new Address
                              (
                source.Speaker_Adress_Country,
                source.Speaker_Adress_ZipCode,
                source.Speaker_Adress_Street,
                source.Speaker_Adress_City
                              );

            Name name = new Name(
                source.Speaker_Name_First,
                source.Speaker_Name_Last);

            DateTime dateTime;
            bool     C = DateTime.TryParse(source.Speaker_Birthdate, out dateTime);


            Contact cc = new Contact(source.Speaker_Contact_Email,
                                     source.Speaker_Contact_Phone);
            Speaker speaker = new Speaker(name, dateTime, address, socialMedia
                                          , source.Speaker_BIO, cc);


            CallForSpeechNumber callForSpeechNumber = new CallForSpeechNumber
                                                          (source.Number);

            Speech speech = new Speech(source.Speech_Title, source.Speech_Description,
                                       source.Speech_Tags.Split(","),
                                       (ForWhichAudience)source.Speech_ForWhichAudience,
                                       (TechnologyOrBussinessStory)source.Speech_TechnologyOrBussinessStory);

            CallForSpeechStatus status = (CallForSpeechStatus)source.Status;


            CallForSpeechMachineScore callForSpeechMachineScore =
                (CallForSpeechMachineScore)source.Score_Score;



            CallForSpeechScoringResult res =
                new CallForSpeechScoringResult(callForSpeechMachineScore,
                                               source.Score_RejectExplanation, source.Score_WarringExplanation);

            DateTime     dateTime2    = DateTime.Parse(source.Registration_RegistrationDate);
            Registration registration = new Registration(dateTime2);

            Decision decisionPreminal = null;

            try
            {
                DateTime dateTime3 = DateTime.Parse(source.PreliminaryDecision_Date);
                decisionPreminal =
                    new Decision(dateTime3, new JudgeId(source.PreliminaryDecision_DecisionBy.Value));
            }
            catch (Exception)
            {
            }

            Decision decisionFinal = null;

            try
            {
                DateTime dateTime4 = DateTime.Parse(source.FinalDecision_Date);
                decisionFinal =
                    new Decision(dateTime4, new JudgeId(source.FinalDecision_DecisionBy.Value));
            }
            catch (Exception)
            {
            }

            CallForSpeech sc = new CallForSpeech(callForSpeechNumber, status, speaker, speech, c,
                                                 res, registration,
                                                 decisionPreminal, decisionFinal, new CallForSpeechId(source.Id));

            if (source.UniqueId != "")
            {
                sc.UniqueId = new CallForSpeechUniqueId(Guid.Parse(source.UniqueId));
            }

            sc.Version = source.Version;

            return(sc);
        }