using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using AutoMapper; using HRM.BO; using HRM.BO.Basic; using HRM.DA; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Ease.Core.DataAccess; using System.Data; using System.IO; namespace HRM.UI.Controllers.Basic { [ApiController] [Route("api/HRBasic")] [Authorize] public class BasicController : ControllerBase { public BasicController(IAllowanceDeductionService allowanceDeductionService, IBonusService bonusService, ICategoryService categoryService, IDepartmentService departmentService, IDesignationService designationService, IGradeService gradeService, IGradeSegmentService gradeSegmentService, ILocationService locationService, IEmployeeOverTimeService employeeOverTimeService, ITermService termService, IOccupationService occupationService, IEducationLevelService educationLevelService, ITrainingTypeService trainingTypeService, IEducationTypeService educationTypeService, INominationPurposeService nominationPurposeService, IBankService bankService, IBranchService brachService, ICostcenterService icostcenterService, ILoanService iLoanService, IReligionService religionService, IProcessItemService processItemService, ISalaryComponent salarycoponenet, IHREmployeeService hrEmployeeService, ICountryService countryService, INatureOfTrainingService natureOfTrainingService, IInstitutionService institutionService, IRelationService relationService, IDistrictService districtService, IThanaService thanaService, IResultTypeService resultTypeService, IDisciplineService disciplineService, IJobDefinitionService jobDefinitionService, INationalityService nationalityService, IReminderService reminderService, IHrNotificationService hrNotificationService, IPayrollPaymentComponent paycomponenet) { this._allowanceDeductionService = allowanceDeductionService; this._bonusService = bonusService; this._categoryService = categoryService; this._departmentService = departmentService; this._designationService = designationService; this._gradeService = gradeService; this._gradeSegmentService = gradeSegmentService; this._locationService = locationService; this._employeeOverTimeService = employeeOverTimeService; this._tempService = termService; this._occupationService = occupationService; this._educationLevelService = educationLevelService; this._trainingTypeService = trainingTypeService; this._educationTypeService = educationTypeService; this._nominationPurposeService = nominationPurposeService; this._bankService = bankService; this._branchService = brachService; this._costCenterService = icostcenterService; this._loanService = iLoanService; this._processItemService = processItemService; this._salaryComponent = salarycoponenet; this._hrEmployeeService = hrEmployeeService; this._countryService = countryService; this._natureOfTrainingService = natureOfTrainingService; this._institutionService = institutionService; this._relationService = relationService; this._districtService = districtService; this._thanaService = thanaService; this._resultTypeService = resultTypeService; this._disciplineService = disciplineService; this._religionService = religionService; this._jobDefinitionService = jobDefinitionService; _nationalityService = nationalityService; _reminderService = reminderService; _hrNotificationService = hrNotificationService; _paycomponent = paycomponenet; } private readonly IAllowanceDeductionService _allowanceDeductionService; private readonly IBonusService _bonusService; private readonly ICategoryService _categoryService; private readonly IDepartmentService _departmentService; private readonly IDesignationService _designationService; private readonly IGradeService _gradeService; private readonly IGradeSegmentService _gradeSegmentService; private readonly ILocationService _locationService; private readonly IEmployeeOverTimeService _employeeOverTimeService; private readonly ITermService _tempService; private readonly IOccupationService _occupationService; private readonly IEducationLevelService _educationLevelService; private readonly ITrainingTypeService _trainingTypeService; private readonly IEducationTypeService _educationTypeService; private readonly INominationPurposeService _nominationPurposeService; private readonly IBankService _bankService; private readonly IBranchService _branchService; private readonly ICostcenterService _costCenterService; private readonly ILoanService _loanService; private readonly IProcessItemService _processItemService; private readonly ISalaryComponent _salaryComponent; private readonly IHREmployeeService _hrEmployeeService; private readonly ICountryService _countryService; private readonly INatureOfTrainingService _natureOfTrainingService; private readonly IInstitutionService _institutionService; private readonly IRelationService _relationService; private readonly IDistrictService _districtService; private readonly IThanaService _thanaService; private readonly IResultTypeService _resultTypeService; private readonly IDisciplineService _disciplineService; private readonly IReligionService _religionService; private readonly IJobDefinitionService _jobDefinitionService; private readonly INationalityService _nationalityService; private readonly IReminderService _reminderService; private readonly IHrNotificationService _hrNotificationService; private readonly IPayrollPaymentComponent _paycomponent; [HttpGet("getAllowance")] public ActionResult getAllowance() { List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { items = _allowanceDeductionService.GetAllowance(EnumStatus.Active, (int)currentUser.PayrollTypeID); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getDeduction")] public ActionResult getDeduction() { List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { items = _allowanceDeductionService.GetDeduction(EnumStatus.Active, (int)currentUser.PayrollTypeID); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("GetAllAllowanceDeduction/{allowOrDeduct}/{status}/{code}/{name}")] public ActionResult GetAllAllowanceDeduction(EnumAllowOrDeduct allowOrDeduct, EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _allowanceDeductionService.GetAllAllowance(payrollTypeId, allowOrDeduct, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllowanceByID/{id}")] public ActionResult GetAllowanceByID(int id) { AllowanceDeduction item = new AllowanceDeduction(); try { item = _allowanceDeductionService.Get(id); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(item); } [HttpGet("getAllowanceBy2Enum/{periodicity}/{allowOrDeduct}")] public ActionResult GetAllowanceBy2Enum(int periodicity, int allowOrDeduct) { List items = new List(); try { items = _allowanceDeductionService.GetAllowance((EnumPeriodicity)periodicity, (EnumAllowOrDeduct)allowOrDeduct); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllowanceBy3Enum/{periodicity}/{entitleType}/{allowOrDeduct}")] public ActionResult GetAllowanceBy3Enum(int periodicity, int entitleType, int allowOrDeduct) { List items = new List(); try { items = _allowanceDeductionService.GetAllowance((EnumPeriodicity)periodicity, (EnumEntitleType)entitleType, (EnumAllowOrDeduct)allowOrDeduct); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Bonus [HttpGet("getAllBonus/{status}/{code}/{name}")] public ActionResult GetAllBonus(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _bonusService.GetAllBonus(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getBonusByID/{id}")] public ActionResult GetBonusByID(int id) { Bonus item = new Bonus(); try { item = _bonusService.Get(id); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(item); } // Category [HttpGet("getAllCategory/{status}/{code}/{name}")] public ActionResult GetAllCategory(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _categoryService.GetAllCategory(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getCategoryByID/{id}")] public ActionResult getCategoryByID(int id) { try { return Ok(this._categoryService.Get(id)); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } } [HttpGet("payrollTypeID/{id}")] public ActionResult Get(int id) { Category item = new Category(); try { item = _categoryService.Get(id); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(item); } // Department [HttpGet("getAllDepartment/{status}/{code}/{name}")] public ActionResult GetAllDepartment(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _departmentService.GetAllDepartment(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getDepartmentByID/{id}")] public ActionResult getDepartmentByID(int id) { try { return Ok(this._departmentService.Get(id)); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } } [HttpGet("getAllBank/{status}/{code}/{name}")] public ActionResult getAllBank(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); List items = new List(); try { items = _bankService.Get(status, (int) currentUser.PayrollTypeID); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getBranchesByBankID/{bankid}/{status}/{code}/{name}")] public ActionResult getBranchesByBankID(int bankid, EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); try { items = _branchService.GetChild(bankid); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllBranches/{status}/{code}/{name}")] public ActionResult getAllBranches(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); try { items = _branchService.Get(status, (int)currentUser.PayrollTypeID); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllOccupation/{status}/{code}/{name}")] public ActionResult getAllOccupation(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); try { items = _occupationService.Get(status); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllEducationLevel/{status}/{code}/{name}")] public ActionResult getAllEducationLevel(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); try { items = _educationLevelService.Get(status); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getAllCostCenter/{status}/{code}/{name}")] public ActionResult getAllCostCenter(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _costCenterService.GetAllCostCenter(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getCostCenter/{id}")] public ActionResult getCostCenter(int id) { Costcenter item = new Costcenter(); try { item = _costCenterService.Get(id); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(item); } [HttpGet("getGradeByID/{id}")] public ActionResult getGradeByID(int id) { try { return Ok(this._gradeService.Get(id)); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } } // Grade [HttpGet("getAllGrade/{status}/{code}/{name}")] public ActionResult GetAllGrade(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _gradeService.GetAllGrade(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // GradeSegment [HttpGet("getAllGradeSegment/{status}/{code}/{name}")] public ActionResult GetAllGradeSegment(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _gradeSegmentService.GetAllGradeSegment(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Loan [HttpGet("GetAllLoan/{status}/{code}/{name}")] public ActionResult GetAllLoan(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); try { items = _loanService.Get(status); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Location [HttpGet("GetAllLocation/{status}/{code}/{name}")] public ActionResult GetAllLocation(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _locationService.GetAllLocation(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpGet("getLocationByID/{id}")] public ActionResult getLocationByID(int id) { try { return Ok(this._locationService.Get(id)); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } } // Term [HttpGet("getAllTerm/{status}/{code}/{name}")] public ActionResult GetAllTerm(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); List items = new List(); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); try { items = _tempService.GetAllTerm(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Occupation [HttpGet("getAllOccupation")] public ActionResult GetAllOccupation() { List items = new List(); try { items = _occupationService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } //// Education Level //[HttpGet("getAllEducationLevel")] //public ActionResult GetAllEducationLevel() //{ // List items = new List(); // try // { // items = _educationLevelService.Get(); // } // catch (Exception ex) // { // return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); // } // return Ok(items); //} // Training Type [HttpGet("getAllTrainingType")] public ActionResult GetAllTrainingType() { List items = new List(); try { items = _trainingTypeService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Education Type [HttpGet("getAllEducationType")] public ActionResult GetAllEducationType() { List items = new List(); try { items = _educationTypeService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Nomination Purpose [HttpGet("getAllNominationPurpose")] public ActionResult GetAllNominationPurpose() { List items = new List(); try { items = _nominationPurposeService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // ProcessItem [HttpGet("getForTHeadGroup")] public ActionResult GetForTHeadGroup() { List items = new List(); try { items = _processItemService.GetForTHeadGroup(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getSalaryCoponentBenefits")] public ActionResult getSalaryCoponentBenefits() { List items = new List(); CurrentUser ouser = CurrentUser.GetCurrentUser(HttpContext.User); try { items = this._salaryComponent.Benefits((int) ouser.PayrollTypeID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getSalaryCoponent")] public ActionResult getSalaryCoponent() { List items = new List(); CurrentUser ouser = CurrentUser.GetCurrentUser(HttpContext.User); try { items = this._salaryComponent.Components((int) ouser.PayrollTypeID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // EmpRelation [HttpGet("getEmpRelation/{id}")] public ActionResult GetEmpRelation(int id) { List items = new List(); try { items = _hrEmployeeService.GetEmpRelations(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getAllEmpRelations")] public ActionResult GetAllEmpRelations() { List items = new List(); try { items = _hrEmployeeService.GetAllEmpRelations(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Relation [HttpGet("getAllRelations")] public ActionResult GetAllRelations() { List items = new List(); try { items = _relationService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // EmpRelative [HttpGet("getEmpRelatives/{id}")] public ActionResult GetEmpRelatives(int id) { List items = new List(); try { items = _hrEmployeeService.GetEmpRelatives(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Designation [HttpGet("getDesignationByID/{id}")] public ActionResult getDesignationByID(int id) { try { return Ok(this._designationService.Get(id)); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } } [HttpGet("getAllDesignation/{status}/{code}/{name}")] public ActionResult GetAllDesignation(EnumStatus status, string code, string name) { code = GlobalFunctions.GetApiDefaultData(code); name = GlobalFunctions.GetApiDefaultData(name); CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int payrollTypeId = currentUser.PayrollTypeID.GetValueOrDefault(); List items = new List(); try { items = _designationService.GetAllDesignation(payrollTypeId, status, code, name); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } // Country [HttpGet("getAllCountries")] public ActionResult GetAllCountries() { List items = new List(); try { items = _countryService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Nature of Training [HttpGet("getAllNatureOfTrainings")] public ActionResult GetAllNatureOfTrainings() { List items = new List(); try { items = _natureOfTrainingService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // institution [HttpGet("getAllInstitutions")] public ActionResult GetAllInstitutions() { List items = new List(); try { items = _institutionService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // District [HttpGet("getAllDistricts")] public ActionResult GetAllDistricts() { List items = new List(); try { items = _districtService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getDistrictById/{id}")] public ActionResult GetDistrictById(int id) { District item = new District(); try { item = _districtService.Get(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(item); } // Thana [HttpGet("getAllThanas/{id}")] public ActionResult GetAllThanas(int id) { List items = new List(); try { items = _thanaService.GetByDistID(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getThanaById/{id}")] public ActionResult GetThanaById(int id) { Thana item = new Thana(); try { item = _thanaService.Get(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(item); } // Result type [HttpGet("getAllResultTypesByStatus/{status}")] public ActionResult GetAllResultTypesByStatus(EnumStatus status) { List items = new List(); try { items = _resultTypeService.Get(status); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Disciple [HttpGet("getAllDiscipline")] public ActionResult GetAllDiscipline() { List items = new List(); try { items = _disciplineService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Religion [HttpGet("getAllReligion")] public ActionResult GetAllReligion() { List items = new List(); try { items = _religionService.Get(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Job Definition [HttpPost] [Route("saveJobDefinition")] public ActionResult SaveJobDefinition(JobDefinition item) { try { var isNew = item.ID <= 0; CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); if (isNew) { item.CreatedBy = currentUser.UserID; item.CreatedDate = DateTime.Today; } else { item.ModifiedBy = currentUser.UserID; item.ModifiedDate = DateTime.Today; } _jobDefinitionService.Save(item); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpGet("getAllJobDefinitions")] public ActionResult GetAllJobDefinitions() { List items = new List(); try { items = _jobDefinitionService.GetAll(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getJobDefinition/{id}")] public ActionResult GetJobDefinition(int id) { JobDefinition item = null; try { item = _jobDefinitionService.GetByID(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(item); } [HttpPost] [Route("deleteJobDefinition")] public ActionResult DeleteJobDefinition(JobDefinition item) { try { _jobDefinitionService.DeleteJobDefinition(item.ID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpGet("getJobDefinitionForApprovedData/{id}")] public ActionResult GetJobDefinitionForApprovedData(int id) { JobDefinition item = null; CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); List grades = new GradeService().Get(EnumStatus.Regardless, (int) currentUser.PayrollTypeID); List designations = new DesignationService().Get(EnumStatus.Regardless, (int) currentUser.PayrollTypeID); List departments = new DepartmentService().Get(EnumStatus.Regardless, (int) currentUser.PayrollTypeID); try { item = _jobDefinitionService.GetJobDefinitionById(id); if (item != null) { var grd = grades.FirstOrDefault(d => d.ID == item.GradeId); if (grd != null) item.GradeName = grd.Name; var designation = designations.FirstOrDefault(d => d.ID == item.DesignationId); if (designation != null) item.DesignationName = designation.Name; var department = departments.FirstOrDefault(d => d.ID == item.DepartmentId); if (department != null) item.DepartmentName = department.Name; if (item.RevisionDate != null) { item.RevisionDateString = item.RevisionDate.ToString("dd/MM/yyyy"); } if (item.JdEducationList != null && item.JdEducationList.Count > 0) { item.EducationListName = string.Join(",", item.JdEducationList?.Select(x => x.JdEducationName)?.ToList()); } } } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(item); } [HttpGet("GetByLevelIDs/{ids}")] public ActionResult GetByLevelIDs(string ids) { //JobDefinition item = null; List items = new List(); try { items = _educationLevelService.GetByLevelIDs(ids); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("GetByIDs/{ids}")] public ActionResult GetByIDs(string ids) { //JobDefinition item = null; List items = new List(); try { items = _disciplineService.GetByIDs(ids); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } // Nationality [HttpGet("getAllNationality")] public ActionResult GetAllNationality() { List items = new List(); try { items = _nationalityService.Get(EnumStatus.Active); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet("getReminders")] public ActionResult GetReminders() { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int employeeId = currentUser.EmployeeID.GetValueOrDefault(); List items = new List(); try { items = _reminderService.Get(employeeId); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpPost] [Route("saveReminder")] public ActionResult SaveReminder(Reminder item) { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); int employeeId = currentUser.EmployeeID.GetValueOrDefault(); try { item.EmployeeId = employeeId; _reminderService.Save(item); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpPost] [Route("deleteReminder")] public ActionResult DeleteReminder(Reminder item) { try { _reminderService.Delete(item.ID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpGet] [Route("getAllHrNotifications")] public ActionResult GetAllHrNotifications() { List items = new List(); try { items = _hrNotificationService.GetAll(); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(items); } [HttpGet] [Route("getHrNotification/{id}")] public ActionResult GetHrNotification(int id) { HrNotification item = null; try { item = _hrNotificationService.Get(id); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(item); } [HttpPost] [Route("saveHrNotification")] public ActionResult SaveHrNotification(HrNotification item) { try { _hrNotificationService.Save(item); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpPost] [Route("deleteHrNotification")] public ActionResult DeleteHrNotification(HrNotification item) { try { _hrNotificationService.Delete(item.ID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(); } [HttpGet] [Route("getPayrollPayrollComponenet")] public ActionResult getPayrollPayrollComponenet() { CurrentUser currentUser = CurrentUser.GetCurrentUser(HttpContext.User); List cops = new List(); try { cops = _paycomponent.get((int)currentUser.PayrollTypeID); } catch (Exception e) { return StatusCode(StatusCodes.Status500InternalServerError, e.Message); } return Ok(cops); } [HttpGet("getOpiItem")] public ActionResult getOpiItem() { List items = new List(); try { OpiItemService opiItemService = new OpiItemService(); items = opiItemService.Get(); } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(items); } [HttpPost("uploadHallOfFame")] [AllowAnonymous] public ActionResult uploadHallOfFame() { HallOfFame item = new HallOfFame(); string base64String = ""; try { var fdata = Request.Form.Files["File"]; //Upload Image item.Code = Convert.ToString(Request.Form["code"]); item.Tittle = Convert.ToString(Request.Form["tittle"]); item.Description = Convert.ToString(Request.Form["description"]); using (var ms = new MemoryStream()) { fdata.CopyTo(ms); item.FileData = ms.ToArray(); //item.FileName = item.FileType.ToString() + $"-{item.ReferenceID}{Path.GetExtension(fdata.FileName)}"; byte[] textAsBytes = ms.ToArray(); //this._taxReturnService.UploadFile(item); base64String = Convert.ToBase64String(textAsBytes); } } catch (Exception ex) { return StatusCode(StatusCodes.Status500InternalServerError, ex.Message); } return Ok(base64String); } } }