public IHttpActionResult Get(int id) { var dismissal = _dismissalService.GetById(id); if (dismissal == null) { return(NotFound()); } return(Ok(dismissal)); }
public async Task <IHttpActionResult> GetChartsInfo(int dismissalId) { //the logic shoud not be in controller!!! var dismissal = _dismissalService.GetById(dismissalId); if (dismissal == null) { return(BadRequest()); } var usedChartInfo = await _personnelDismissalService .GetChartInfo(User.Identity.Name, dismissalId); var limitChartInfo = _dismissalService.GetChartInfo(dismissalId); switch (dismissal.DismissalType) { case DismissalType.Demanded: usedChartInfo.MonthData.UsedDismissalPercentage = (((float)usedChartInfo.MonthData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForMonth.GetSecondsFromDuration()) * 100).ToString("n2"); usedChartInfo.YearData.UsedDismissalPercentage = (((float)usedChartInfo.YearData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForYear.GetSecondsFromDuration()) * 100).ToString("n2"); break; case DismissalType.Sickness: usedChartInfo.YearData.UsedDismissalPercentage = (((float)usedChartInfo.YearData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForYear.GetSecondsFromDuration()) * 100).ToString("n2"); break; case DismissalType.WithoutSalary: usedChartInfo.MonthData.UsedDismissalPercentage = (((float)usedChartInfo.MonthData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForMonth.GetSecondsFromDuration()) * 100).ToString("n2"); break; case DismissalType.Encouragement: break; case DismissalType.BreastFeeding: usedChartInfo.DayData.UsedDismissalPercentage = (((float)usedChartInfo.DayData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForDay.GetSecondsFromDuration()) * 100).ToString("n2"); usedChartInfo.TotalData.UsedDismissalPercentage = (((float)usedChartInfo.TotalData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForTotal.GetSecondsFromDuration()) * 100).ToString("n2"); break; case DismissalType.Marriage: case DismissalType.ChildBirth: case DismissalType.DeathOfRelatives: usedChartInfo.TotalData.UsedDismissalPercentage = (((float)usedChartInfo.TotalData.UsedDismissalDuration.GetSecondsFromDuration() / limitChartInfo.LimitValueForTotal.GetSecondsFromDuration()) * 100).ToString("n2"); break; } return(Ok(new { usedChartInfo, limitChartInfo, dismissalType = dismissal.DismissalType })); }