예제 #1
0
        public async Task <(bool, string)> Update(int id, ReadStudentDTO newT)
        {
            using (var client = new HttpClient())
            {
                DataMessage message = null;
                client.DefaultRequestHeaders.Clear();
                client.BaseAddress = new Uri(WebAPIUrl);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType: "application/json"));
                var token            = Session.GetString("Token");
                var UpdateStudentDTO = new UpdateStudentDTO()
                {
                    Name = newT.Name, Surname = newT.Surname, DateOfBirth = newT.DateOfBirth, DepartmentId = newT.DepartmentId, Index = newT.Index, StatusId = newT.StatusId
                };
                if (string.IsNullOrEmpty(token))
                {
                    return(false, "You are not logged in!");
                }
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(scheme: "Bearer", parameter: token);
                var responseMessage = await client.PutAsJsonAsync <UpdateStudentDTO>(requestUri : "/api/Students/UpdateStudent/" + id, UpdateStudentDTO);

                var resultMessage = await responseMessage.Content.ReadAsStringAsync();

                message = JsonConvert.DeserializeObject <DataMessage>(resultMessage);

                return(responseMessage.IsSuccessStatusCode, message.Message);
            }
        }
예제 #2
0
        public async Task <ActionResult> EditAsync(ReadStudentDTO model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Notification = new SuccessResult(false, "All fields are required!");
                    return(View(model));
                }
                var result = await _studentsRepository.Update(model.Id, model);

                if (result.Item1)
                {
                    TempData["SuccessResultF"] = result.Item1;
                    TempData["SuccessResultM"] = result.Item2;

                    return(RedirectToAction("Index", "Students"));
                }
                else
                {
                    ViewBag.Notification = new SuccessResult((bool)result.Item1, (string)result.Item2);
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public async Task <(bool, ReadStudentDTO)> GetById(int id)
        {
            using (var client = new HttpClient())
            {
                ReadStudentDTO student = null;
                client.DefaultRequestHeaders.Clear();
                client.BaseAddress = new Uri(WebAPIUrl);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType: "application/json"));
                var token = Session.GetString("Token");

                if (string.IsNullOrEmpty(token))
                {
                    return(false, null);
                }
                //else
                //{
                //    var isValid = await _authenticateService.IsValidTokenAsync(token);
                //    if(!isValid)
                //    {
                //        return (false, null);
                //    }
                //}

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(scheme: "Bearer", parameter: token);

                var responseMessage = await client.GetAsync(requestUri : "/api/Students/GetSingleStudent/" + id);

                if (responseMessage.IsSuccessStatusCode)
                {
                    var resultMessage = await responseMessage.Content.ReadAsStringAsync();

                    student = JsonConvert.DeserializeObject <ReadStudentDTO>(resultMessage);
                }
                else
                {
                }

                return(responseMessage.IsSuccessStatusCode, student);
            }
        }