예제 #1
0
        public async Task <IActionResult> Detail([Bind("Id,name,urlparamname,defaultcover")] Services.ViewModel.SchoolViewModel model)
        {
            Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.SchoolViewModel> response = null;

            System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post;
            var url = Helpers.EscolaDeVoceEndpoints.School.get;

            if (model.Id != Guid.Empty)
            {
                method = System.Net.Http.HttpMethod.Put;
                url    = Helpers.EscolaDeVoceEndpoints.School.get + "/" + model.Id.ToString();
            }


            response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.SchoolViewModel> >(
                url,
                method,
                JsonConvert.SerializeObject(model)
                );

            if (model.Id != Guid.Empty || (response.data != null && response.data.Id != Guid.Empty))
            {
                var Id = model.Id != Guid.Empty ? model.Id : response.data.Id;
                return(RedirectToAction("Detail", new { id = Id.ToString() }));
            }
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public Infrastructure.ApiResponse <Services.ViewModel.SchoolViewModel> Post([FromBody] Services.ViewModel.SchoolViewModel model)
        {
            var response = new Infrastructure.ApiResponse <Services.ViewModel.SchoolViewModel>();

            try{
                var req = new Services.Message.AddSchoolRequest();
                req.school = model;

                _schoolService.AddSchool(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);
        }
예제 #3
0
        public Infrastructure.ApiResponse <Services.ViewModel.SchoolViewModel> Put(string id, [FromBody] Services.ViewModel.SchoolViewModel model)
        {
            var response = new Infrastructure.ApiResponse <Services.ViewModel.SchoolViewModel>();

            try{
                Guid schoolid = Guid.Empty;
                if (!Guid.TryParse(id, out schoolid))
                {
                    return(Infrastructure.ApiResponse <Services.ViewModel.SchoolViewModel> .CreateResponse(false, "Categoria não encontrada", null, System.Net.HttpStatusCode.NotFound));
                }

                model.Id = schoolid;
                _schoolService.UpdateSchool(new Services.Message.UpdateSchoolRequest()
                {
                    school = 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);
        }