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
            }));
        }