public Infrastructure.ApiResponse <Services.ViewModel.CourseViewModel> Post([FromBody] Services.ViewModel.CourseViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.CourseViewModel>(); try{ var req = new Services.Message.AddCourseRequest(); req.course = model; _courseService.AddCourse(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,image,free,description,duration,schoolId,categoriesId,views,order")] Services.ViewModel.CourseViewModel model, ICollection <IFormFile> files) { var uploads = Path.Combine(_environment.WebRootPath, "images/specialists"); if (files != null) { foreach (var file in files) { if (file.Length > 0) { var fileextension = Path.GetExtension(file.FileName); var filename = Guid.NewGuid().ToString() + fileextension; model.image = filename; using (var fileStream = new FileStream(Path.Combine(uploads, filename), FileMode.Create)) { await file.CopyToAsync(fileStream); } } } } Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CourseViewModel> response = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; string url = Helpers.EscolaDeVoceEndpoints.Courses.getCourses; if (model.Id != Guid.Empty) { method = System.Net.Http.HttpMethod.Put; url += "/" + model.Id.ToString(); } response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CourseViewModel> >( 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")); }
public Infrastructure.ApiResponse <Services.ViewModel.CourseViewModel> Put(string id, [FromBody] Services.ViewModel.CourseViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.CourseViewModel>(); try{ Guid courseid = Guid.Empty; if (!Guid.TryParse(id, out courseid)) { return(Infrastructure.ApiResponse <Services.ViewModel.CourseViewModel> .CreateResponse(false, "Curso não encontrado", null, System.Net.HttpStatusCode.NotFound)); } model.Id = courseid; _courseService.UpdateCourse(new Services.Message.UpdateCourseRequest() { course = 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); }