public Infrastructure.ApiResponse <Services.ViewModel.ProjectViewModel> Post([FromBody] Services.ViewModel.ProjectViewModel model)
        {
            var response = new Infrastructure.ApiResponse <Services.ViewModel.ProjectViewModel>();

            try{
                var req = new Services.Message.AddProjectRequest();
                req.project = model;

                _projectService.AddProject(req);

                response.status = true;
                response.data   = model;
                response.code   = System.Net.HttpStatusCode.Created;
            }catch (Infrastructure.BusinessRuleException bex) {
                response.status        = true;
                response.code          = System.Net.HttpStatusCode.BadRequest;
                response.brokenRules   = bex.BrokenRules;
                response.error_message = bex.Message;
            }catch (Exception ex) {
                response.status        = true;
                response.code          = System.Net.HttpStatusCode.InternalServerError;
                response.error_message = "Ocorreu um erro inesperado. Entre em contato com o nosso time de desenvolvimento.";
            }
            return(response);
        }
        public async Task <IActionResult> Detail([Bind("Id,name")] Services.ViewModel.ProjectViewModel model)
        {
            Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.ProjectViewModel> response = null;

            System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post;
            if (model.Id != Guid.Empty)
            {
                method = System.Net.Http.HttpMethod.Put;
            }

            response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.ProjectViewModel> >(
                Helpers.EscolaDeVoceEndpoints.Project.getProjects + "/" + model.Id.ToString(),
                method,
                JsonConvert.SerializeObject(model)
                );

            return(View(response.data));
        }
        public Infrastructure.ApiResponse <Services.ViewModel.ProjectViewModel> Put(string id, [FromBody] Services.ViewModel.ProjectViewModel model)
        {
            var response = new Infrastructure.ApiResponse <Services.ViewModel.ProjectViewModel>();

            try{
                Guid projectid = Guid.Empty;
                if (!Guid.TryParse(id, out projectid))
                {
                    return(CreateResponse <Services.ViewModel.ProjectViewModel>(false, "projeto não encontrado", null, System.Net.HttpStatusCode.NotFound));
                }

                model.Id = projectid;
                _projectService.UpdateProject(new Services.Message.UpdateProjectRequest()
                {
                    project = model
                });

                response.status = true;
                response.data   = model;
                response.code   = System.Net.HttpStatusCode.Created;
            }catch (Infrastructure.BusinessRuleException bex) {
                response.status        = true;
                response.code          = System.Net.HttpStatusCode.BadRequest;
                response.brokenRules   = bex.BrokenRules;
                response.error_message = bex.Message;
            }catch (Exception ex) {
                response.status        = true;
                response.code          = System.Net.HttpStatusCode.InternalServerError;
                response.error_message = "Ocorreu um erro inesperado. Entre em contato com o nosso time de desenvolvimento.";
            }

            return(response);
        }