Код: Выделить всё
public class EmployeeBonusDetail
{
public int EmployeeId { get; set; }
public DateTime Date { get; set; }
public int PointsEarned { get; set; }
public string Type { get; set; }
}
public class CertificateBonusDetail : EmployeeBonusDetail
{
public string CertificateName { get; set; }
}
public class PolicyBonusDetail : EmployeeBonusDetail
{
public string Category { get; set; }
public string ToEmail { get; set; }
}
public class CUBenchBonusDetail : EmployeeBonusDetail
{
public string Course { get; set; }
}
public class CoadingStandardDetails : EmployeeBonusDetail
{
public string CoadingStandardGrade { get; set; }
}
public class ClientInteractionDetails : EmployeeBonusDetail
{
public string VerbalCommunication { get; set; }
}
public class DomainKnowledgeBonusDetail : EmployeeBonusDetail
{
public string DomainName { get; set; }
}
public class EmployeeGradingBonusDetail : EmployeeBonusDetail
{
public string Communication { get; set; }
public int CommunicationPoint { get; set; }
public string TeamCoordination { get; set; }
public int TeamCoordinationPoint { get; set; }
public string ProjectPerformance { get; set; }
public int ProjectPerformancePoint { get; set; }
public string Ownership { get; set; }
public int OwnershipPoint { get; set; }
}
public class TraineeUnderTL
{
public string tl_email { get; set; }
public List trainees { get; set; }
}
public class Trainee : EmployeeBonusDetail
{
public int trainee_emp { get; set; }
public string trainee_name { get; set; }
public string trainee_email { get; set; }
public string trainee_skill { get; set; }
public DateTime tl_assign_date { get; set; }
}
public class EmployeeBonusDetailsRequest
{
public List EmployeeSkillDetails { get; set; }
public List EmployeePointData { get; set; }
}
public class EmployeeBonusDetailsResponse
{
public string CategoryTable { get; set; }
public List Data { get; set; }
}
Код: Выделить всё
[Authorize]
[HttpPost(nameof(SaveGeneratedSkillBonusDetails))]
public async Task SaveGeneratedSkillBonusDetails([FromBody] EmployeeBonusDetailsRequest request)
{
if (request == null || request.EmployeeSkillDetails == null || request.EmployeePointData == null)
{
return BadRequest("Invalid data received.");
}
try
{
var employeeSkillDetails = request.EmployeeSkillDetails;
var employeePointData = request.EmployeePointData;
// Save logic goes here
return Ok(true);
}
catch (Exception ex)
{
_logger.LogError(ex.Message);
return StatusCode((int)HttpStatusCode.InternalServerError, ex.Message);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... d-in-model
Мобильная версия