Exemple #1
0
        public ActionResult <Employee> GetEmployee(string email)
        {
            var validatedEmail = fs(D2.createEmailAddress(email));

            if (!validatedEmail.IsFail)
            {
                return(BadRequest(validatedEmail.FailAsEnumerable().First()));
            }
            else
            {
                var emailAddress  = validatedEmail.SuccessAsEnumerable().First();
                var timedEmployee = emailAddress.Apply(email => fs(D2.tryGetEmployeeFromDatabase(_db, email))).Map(fs);
                var timedResult   = timedEmployee.Map(oe => oe
                                                      .Map(e => (ActionResult <Employee>)Ok(e))
                                                      .IfNone(() => NotFound()));
                var result = timedResult.IfFail(e =>
                                                StatusCode(StatusCodes.Status408RequestTimeout, e.First()));
                return(result);
            }
        }