public async Task <IActionResult> AnswerQuestion(string answerId, int score) { var model = new EscolaDeVoce.Services.ViewModel.UserAnswerQuestionViewModel(); model.userId = Guid.Parse(getClaimValue("Id")); model.answearId = Guid.Parse(answerId); model.score = score; Infrastructure.ApiResponse <bool> mensagemresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; mensagemresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.User.answerQuestion, method, JsonConvert.SerializeObject(model) ); if (mensagemresponse != null) { return(Json(new { success = true })); } return(Json(new { success = false })); }
public async Task <IActionResult> SaveComment(string id, string comment) { var model = new EscolaDeVoce.Services.ViewModel.CommentEscoleteTalkViewModel(); model.Id = Guid.Parse(id); model.comment = comment; model.userId = Guid.Parse(getClaimValue("Id")); Infrastructure.ApiResponse <bool> commentresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; commentresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.EscoleTalk.comment, method, JsonConvert.SerializeObject(model) ); if (commentresponse != null) { return(Json(new { success = true })); } return(Json(new { success = false })); // return View(); }
public async Task <IActionResult> AddToFavorite(string videoId) { var model = new EscolaDeVoce.Services.ViewModel.AddVideoToFavoriteViewModel(); model.userId = Guid.Parse(getClaimValue("Id")); model.videoId = Guid.Parse(videoId); Infrastructure.ApiResponse <bool> favoriteresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; favoriteresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.Videos.addToFavorites, method, JsonConvert.SerializeObject(model) ); if (favoriteresponse != null) { return(Json(new { success = true })); } return(Json(new { success = false })); }
public Infrastructure.ApiResponse <bool> MakeEmbaixadora(string id) { var response = new Infrastructure.ApiResponse <bool>(); try{ Guid personid = Guid.Empty; if (!Guid.TryParse(id, out personid)) { return(Infrastructure.ApiResponse <bool> .CreateResponse(false, "Curso não encontrado", false, System.Net.HttpStatusCode.NotFound)); } bool std = _personService.MakeEmbaixadora(new Services.Message.MakeEmbaixadoraRequest() { personId = personid }).status; response.status = true; response.data = std; 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 Infrastructure.ApiResponse <bool> saveProfileImage([FromBody] Services.ViewModel.UpdateUserImageViewModel model) { var response = new Infrastructure.ApiResponse <bool>(); try{ var req = new Services.Message.ChangeUserProfileImageRequest(); req.user = model; _userService.ChangeUserProfileImage(req); response.status = true; response.data = response.status; 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 Infrastructure.ApiResponse <bool> AddUserCourse(Guid userid, Guid courseid) { var response = new Infrastructure.ApiResponse <bool>(); try{ var req = new Services.Message.AddUserCourseRequest(); req.courseId = courseid; req.userId = userid; _userService.AddUserCourse(req); response.status = true; response.data = true; 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> sendMessage(string message, string to) { var model = new EscolaDeVoce.Services.ViewModel.MessageViewModel(); model.fromId = Guid.Parse(getClaimValue("Id")); model.message = message; model.toId = Guid.Parse(to); model.title = message; Infrastructure.ApiResponse <bool> mensagemresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; mensagemresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.Message.get, method, JsonConvert.SerializeObject(model) ); if (mensagemresponse != null) { return(Json(new { success = true })); } return(Json(new { success = false })); // return View(); }
public Infrastructure.ApiResponse <bool> PostComment([FromBody] Services.ViewModel.CommentEscoleteTalkViewModel model) { var response = new Infrastructure.ApiResponse <bool>(); try{ var req = new Services.Message.CommentEscoleteTalkRequest(); req.escoleteTalk = model; _escoleteTalkService.CommentEscoleteTalk(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 Infrastructure.ApiResponse <Services.ViewModel.EscoleteTalkViewModel> Delete(string id) { var response = new Infrastructure.ApiResponse <Services.ViewModel.EscoleteTalkViewModel>(); try{ Guid escoleteTalkId = Guid.Empty; if (!Guid.TryParse(id, out escoleteTalkId)) { return(Infrastructure.ApiResponse <Services.ViewModel.EscoleteTalkViewModel> .CreateResponse(false, "Categoria não encontrada", null, System.Net.HttpStatusCode.NotFound)); } _escoleteTalkService.RemoveEscoleteTalk(new Services.Message.DeleteEscoleteTalkRequest() { escoleteTalkId = escoleteTalkId }); response.status = true; response.data = null; 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 Infrastructure.ApiResponse <bool> AddToFavorites([FromBody] Services.ViewModel.AddVideoToFavoriteViewModel model) { var response = new Infrastructure.ApiResponse <bool>(); try { var req = new Services.Message.AddVideoToFavoritesRequest(); req.model = model; _videoService.AddVideoToFavoritesCourse(req); response.status = true; response.data = true; 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 Infrastructure.ApiResponse <Services.ViewModel.AnswerViewModel> Put(string id, [FromBody] Services.ViewModel.AnswerViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.AnswerViewModel>(); try{ Guid answerid = Guid.Empty; if (!Guid.TryParse(id, out answerid)) { return(Infrastructure.ApiResponse <Services.ViewModel.AnswerViewModel> .CreateResponse(false, "Categoria não encontrada", null, System.Net.HttpStatusCode.NotFound)); } model.Id = answerid; _answerService.UpdateAnswear(new Services.Message.UpdateAnswearRequest() { answear = 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); }
public Infrastructure.ApiResponse <Services.ViewModel.UserViewModel> Post([FromBody] Services.ViewModel.CreateUserViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.UserViewModel>(); try{ var req = new Services.Message.AddUserRequest(); req.model = model; _userService.AddUser(req); response.status = true; Services.ViewModel.UserViewModel u = new Services.ViewModel.UserViewModel(); u.username = model.username; response.data = u; 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); }
private Infrastructure.ApiResponse <T> CreateResponse <T>(bool status, string message, T data, System.Net.HttpStatusCode code = System.Net.HttpStatusCode.Created, List <Infrastructure.BusinessRule> rules = null) { var response = new Infrastructure.ApiResponse <T>(); response.status = status; response.error_message = message; response.data = data; response.brokenRules = rules; response.code = code; return(response); }
public async Task <IActionResult> startCourse(string courseId) { Infrastructure.ApiResponse <bool> courseResponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; courseResponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.User.startCourse + "/" + getClaimValue("Id") + "/" + courseId, method ); return(Json(new { success = true })); }
public async Task <IActionResult> UpdateAccount([Bind("Id,name,lastname,cpf,haveBusiness,children,genre,birthday,phonenumber,email,addressTitle,addressStreet,addressPostalcode,addressCity,addressState,addressNumber,addressNeighborhood")] Services.ViewModel.PersonViewModel model) { Infrastructure.ApiResponse <bool> favoriteresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Put; favoriteresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.Person.get + "/" + model.Id, method, JsonConvert.SerializeObject(model) ); return(Json(new {})); }
public async Task <IActionResult> updateVideoStatus([Bind("progress,videoId")] Services.ViewModel.UpdateVideoStatusViewModel model) { Infrastructure.ApiResponse <bool> favoriteresponse = null; model.userId = Guid.Parse(getClaimValue("Id")); System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; favoriteresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.Videos.updateStatus, method, JsonConvert.SerializeObject(model) ); return(View()); }
public async Task <IActionResult> AddDictionaryItem([Bind("title,content,dictionaryType")] Services.ViewModel.DictionaryViewModel model) { Infrastructure.ApiResponse <bool> favoriteresponse = null; model.userId = Guid.Parse(getClaimValue("Id")); System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; favoriteresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.Dictionary.get, method, JsonConvert.SerializeObject(model) ); return(View()); }
public async Task <IActionResult> CoverPhotoUpload(string image) { var webRoot = _env.WebRootPath; var imagename = Guid.NewGuid().ToString() + ".jpg"; string filePath = webRoot + "/images/" + imagename; var baseImage = image.Replace("data:image/png;base64,", ""); baseImage = baseImage.Replace("data:image/jpeg;base64,", ""); baseImage = baseImage.Replace("data:image/jpg;base64,", ""); baseImage = baseImage.Replace("\"", ""); System.IO.File.WriteAllBytes(filePath, Convert.FromBase64String(baseImage)); var userimage = new EscolaDeVoce.Services.ViewModel.UpdateUserCoverViewModel(); userimage.Id = Guid.Parse(getClaimValue("Id")); userimage.image = imagename; Infrastructure.ApiResponse <bool> updateimageresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; updateimageresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <bool> >( Helpers.EscolaDeVoceEndpoints.User.changeCover, method, JsonConvert.SerializeObject(userimage) ); if (updateimageresponse != null) { updateClaimValue("cover", imagename); return(Json(new { success = true, imageName = imagename, imagepath = Request.Path })); } return(Json(new { success = false })); }
public async Task <IActionResult> Detail([Bind("Id,name")] Services.ViewModel.CategoryViewModel model) { Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CategoryViewModel> response = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; var url = Helpers.EscolaDeVoceEndpoints.Category.getCategories; if (model.Id != Guid.Empty) { method = System.Net.Http.HttpMethod.Put; url = Helpers.EscolaDeVoceEndpoints.Category.getCategories + "/" + model.Id.ToString(); } response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CategoryViewModel> >( 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 async Task <IActionResult> Signup(string username, string password, string email, string name, string lastname, string image, string cover, bool isFacebook) { var model = new EscolaDeVoce.Services.ViewModel.CreateUserViewModel(); model.password = password; model.username = email; model.person = new EscolaDeVoce.Services.ViewModel.PersonViewModel(); model.person.name = name; model.person.lastname = lastname; model.image = image; model.cover = cover; Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.UserViewModel> createuserresponse = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; createuserresponse = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.UserViewModel> >( Helpers.EscolaDeVoceEndpoints.User.create, method, JsonConvert.SerializeObject(model) ); if (createuserresponse != null) { return(await this.Login(username, password, isFacebook)); } return(Json(new { status = false })); }
public async Task <IActionResult> Login(string username, string password, bool isFacebook) { Frontend.AuthenticationModel response = null; response = await ApiRequestHelper.postPutEncodedRequest <AuthenticationModel>( Helpers.EscolaDeVoceEndpoints.tokenUrl, username, password, isFacebook ); if (response != null) { if (response.StatusCode != HttpStatusCode.Created) { return(Json(new { status = false })); } Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.UserViewModel> userresponse = null; userresponse = await ApiRequestHelper.Get <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.UserViewModel> >( Helpers.EscolaDeVoceEndpoints.User.info, null, response.access_token ); const string Issuer = "https://www.escoladevoce.com.br"; var claims = new List <Claim> { new Claim(ClaimTypes.Name, userresponse.data.person.name, ClaimValueTypes.String, Issuer), new Claim("Id", userresponse.data.Id.ToString(), ClaimValueTypes.String, Issuer), new Claim(ClaimTypes.Email, userresponse.data.username, ClaimValueTypes.String, Issuer), new Claim("TOKEN", response.access_token, ClaimValueTypes.String, Issuer), }; var userIdentity = new ClaimsIdentity(claims, "Passport"); if (!String.IsNullOrEmpty(userresponse.data.cover)) { userIdentity.AddClaim(new Claim("cover", userresponse.data.cover, ClaimValueTypes.String, Issuer)); } if (!String.IsNullOrEmpty(userresponse.data.image)) { userIdentity.AddClaim(new Claim("image", userresponse.data.image, ClaimValueTypes.String, Issuer)); } var userPrincipal = new ClaimsPrincipal(userIdentity); await HttpContext.Authentication.SignInAsync("Cookie", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(30), IsPersistent = true, AllowRefresh = false }); return(Json(new { status = true })); } return(Json(new { status = false })); }
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 async Task <IActionResult> Delete(Guid id) { Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CourseViewModel> response = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Delete; response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.CourseViewModel> >( Helpers.EscolaDeVoceEndpoints.Courses.getCourses + "/" + id.ToString(), method ); return(RedirectToAction("Index")); }
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 async Task <IActionResult> Detail([Bind("Id,name,charge,image,schoolId")] Services.ViewModel.EspecialistViewModel model, ICollection <IFormFile> files, [Bind("x,y,w,h")] Backend.ViewModel.SizeModel sizeModel) { 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); } //Cortar imagem Rectangle cropRect = new Rectangle(sizeModel.x, sizeModel.y, sizeModel.w, sizeModel.h); Bitmap src = System.Drawing.Image.FromFile(Path.Combine(uploads, filename)) as Bitmap; Bitmap target = new Bitmap(cropRect.Width, cropRect.Height); using (Graphics g = Graphics.FromImage(target)) { g.DrawImage(src, new Rectangle(0, 0, target.Width, target.Height), cropRect, GraphicsUnit.Pixel); } using (var fileStream = new FileStream(Path.Combine(uploads, "crp_" + filename), FileMode.Create)) { await file.CopyToAsync(fileStream); } } } } Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.EspecialistViewModel> response = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; string url = Helpers.EscolaDeVoceEndpoints.Especialists.get; if (model.Id != Guid.Empty) { url += "/" + model.Id.ToString(); method = System.Net.Http.HttpMethod.Put; } response = await ApiRequestHelper.postPutRequest <Infrastructure.ApiResponse <EscolaDeVoce.Services.ViewModel.EspecialistViewModel> >( url, method, JsonConvert.SerializeObject(model) ); if ((method == System.Net.Http.HttpMethod.Post && response.data != null && response.data.Id != Guid.Empty) || model.Id != Guid.Empty) { Guid Id = model.Id != Guid.Empty ? model.Id : response.data.Id; return(RedirectToAction("Detail", new { id = Id.ToString() })); } else { return(RedirectToAction("Index")); } }