public IActionResult TimeIn(string id)
        {
            var result = _time.TimeinTimeTracker(id);

            if (result.State.isValid)
            {
                return(Ok(new
                {
                    data = result,
                    status = _response.ShowHttpResponse(_response.Ok)
                }));
            }
            else
            {
                var response = _response.ShowHttpResponse(_response.NotFound);
                response.Details = result.State.Message;
                return(NotFound(new
                {
                    status = response
                }));
            }
        }
        public async Task <IActionResult> LoginAsync([FromBody] LoginModel model)
        {
            var result = await _account.LoginAsync(model);

            if (result != null)
            {
                return(Ok(new
                {
                    data = result
                }));
            }
            else
            {
                var response = _response.ShowHttpResponse(_response.NotFound);
                response.Details = "Credentials are invalid!";
                return(NotFound(new
                {
                    status = response
                }));
            }
        }
        public async Task <IActionResult> GetAsync(string Id)
        {
            var token = await _checkForgery.CheckToken();

            if (token != null)
            {
                return(token);
            }

            if (string.IsNullOrEmpty(Id))
            {
                return(Ok(new
                {
                    data = _book.GetBookLog(),
                    status = _response.ShowHttpResponse(_response.Ok)
                }));
            }
            else
            {
                var result = _book.GetBookLogById(Id);
                if (result != null)
                {
                    return(Ok(new
                    {
                        data = result,
                        status = _response.ShowHttpResponse(_response.Ok)
                    }));
                }
                else
                {
                    return(NotFound(new
                    {
                        status = _response.ShowHttpResponse(_response.NotFound)
                    }));
                }
            }
        }
        public IActionResult Get(string email, int?id)
        {
            if (!string.IsNullOrEmpty(email))
            {
                var validate = _validate.IsEmailValid(email);
                if (validate.isValid)
                {
                    var result = _client.GetClientByEmail(email);
                    if (result != null)
                    {
                        return(Ok(new
                        {
                            data = result,
                            status = _response.ShowHttpResponse(_response.Ok),
                            IsExists = true
                        }));
                    }
                    else
                    {
                        return(NotFound(new
                        {
                            status = _response.ShowHttpResponse(_response.NotFound),
                            IsExists = false
                        }));
                    }
                }
                else
                {
                    var response = _response.ShowHttpResponse(_response.UnprocessableEntity);
                    response.Details = validate.Message;
                    return(BadRequest(new
                    {
                        status = response
                    }));
                }
            }
            else
            {
                try
                {
                    if (id.Value > 0)
                    {
                        var result = _client.GetClientById(id.Value);
                        if (result != null)
                        {
                            var responseOk = _response.ShowHttpResponse(_response.Ok);
                            return(Ok(new
                            {
                                data = result,
                                status = responseOk,
                                IsExists = true
                            }));
                        }
                        else
                        {
                            return(NotFound(new
                            {
                                status = _response.ShowHttpResponse(_response.NotFound),
                                IsExists = false
                            }));
                        }
                    }
                }
                catch (System.Exception)
                {
                    return(Ok(new
                    {
                        data = _client.GetClients(),
                        status = _response.ShowHttpResponse(_response.Ok)
                    }));
                }

                return(null);
            }
        }