adhikar patil Ответов: 1

Как реализовать get и put API для обновления данных двух таблиц с помощью ASP.NET ядро.


Привет,
У меня есть две таблицы - Student Table и Student address table, и эти таблицы имеют отношение один к одному, и я хочу написать Get и Put ИНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ для этих двух таблиц для получения и обновления данных с помощью Asp.Net сердечник с моделями представлений.


Столбцы Таблицы Учащихся-
StudentId, Имя, MobileNo


Столбцы Таблицы Адресов Учащихся-
Студенчество, Адрес, Город.

Что я уже пробовал:

 using System;
using System.Threading.Tasks;
using Bds.Api.AutoMapper;
using Bds.Api.Models.Public;
using Bds.Data.Models;
using Bds.Service.Helpers;
using Bds.Service.Interfaces;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;

namespace Bds.Api.Controllers.Public.V1
{
    [Route("api/v1/[controller]")]
    [Authorize]
    public class CoverController : Controller
    {
        private readonly IStudentService _studentService;
        private readonly IStudentAddressService _studentaadressService;

        public CoverController(IStudentService studentService, IStudentAddressService studentaadressService)
        {
            _studentService= studentService;
            _studentaadressService= studentaadressService;
        }       

        [HttpGet("{id}")]
        public async Task<IActionResult> Get(int id)
        {
            try
            {              
                var studModel = await _studentService.GetSingleByConditionAsync(u => u.StudentId== id);              
                if (studModel == null)
                    return BadRequest(ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.NotFound));
                return Ok(studModel.ToSingle<StudentModel>());

                var studAddressModel = await _studentaadressService.GetSingleByConditionAsync(u => u.StudentId== id);
                if (studAddressModel == null)
                    return BadRequest(ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.NotFound));
                return Ok(studAddressModel.ToSingle<StudentAddressModel>());
            }
            catch (Exception ex)
            {
                return StatusCode(500, ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.Fetch, ex.Message));
            }
        }

      

        [HttpPut("{id}")]
        public async Task<IActionResult> Put(int id, [FromBody]StudentModel studmodel, [FromBody]StudentAddressModel studaddmodel)
        {
            try
            {
                if (id == 0 || studmodel== null || studaddmodel==null)
                    return BadRequest(ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.InValid));
                
                var response = await _studentService.UpdateAsync(model.ToSingle<Student>());

                var response = await _studentaadressService.UpdateAsync(model.ToSingle<StudentAddress>());

                return response > 0 ? Ok(ResponseMessages.GetSuccessMessage(ResponseMessages.MessageType.Edit)) : StatusCode(500, ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.Edit));
            }
            catch (Exception ex)
            {
                return StatusCode(500, ResponseMessages.GetErrorMessage(ResponseMessages.MessageType.Edit, ex.Message));
            }
        }

        
    }
}

1 Ответов

Рейтинг:
2