public async Task <IActionResult> PersonelListeleAsync(string filter, [FromBody] IQueryObject queryObject) { var today = DateTime.Today; var personelList = await personelRepository.GetsByQuery(queryObject, today.Year, today.Month, filter); var personelsJson = ConvertToJsonFormat(personelList.Items.ToList()); personelsJson.uid = "Employee-List"; personelsJson.perPage = 15; personelsJson.pageNo = 1; personelsJson.tableNo = TableConstants.EmployeeListTableNo; return(Ok(personelsJson)); }
public async Task <IActionResult> MonthlyTally(int year, int month, [FromBody] IQueryObject queryObject) { var formuller = await hesaplamaRepository.GetAllAsync(); var monthlyTallyResource = new MonthlyTallyResource(formuller.ToList()); monthlyTallyResource.uid = month + "." + year; monthlyTallyResource.tableNo = 1; monthlyTallyResource.pageNo = 1; monthlyTallyResource.perPage = 10; //seçenekleri yükle var options = CreateOptions(); monthlyTallyResource.optionGroups.Add(options); //Header oluştur AddDatesToHeaders(monthlyTallyResource.headers, month, year); var personelQueryResult = await personelRepository.GetsByQuery(queryObject, year, month); var baslangicTarih = new DateTime(year, month, 1); var bitisTarih = this.AySonuTarihHesapla(month, year); var aylikPuantaj = await puantajRepository.GetAllMonthlyAsync(baslangicTarih, bitisTarih); foreach (var personel in personelQueryResult.Items.OrderBy(p => p.AdSoyad)) { var row = new MonthlyTallyRow(); row.uid = personel.Id; row.columns.Add(new MonthlyTallyColumn { uid = TableConstants.SicilNo.Uid, value = personel.SicilNo, th = true, type = "num", classes = "table-secondary" }); row.columns.Add(new MonthlyTallyColumn { uid = TableConstants.Gorev.Uid, value = personel.Gorev.UnvanAdi, th = true, type = "txt", classes = "table-secondary" }); row.columns.Add(new MonthlyTallyColumn { uid = TableConstants.AdSoyad.Uid, value = personel.AdSoyad, th = true, type = "txt", classes = "table-secondary" }); row.columns.Add(new MonthlyTallyColumn { uid = TableConstants.TCKN.Uid, value = personel.TcNo, th = true, type = "txt", classes = "table-secondary" }); bool isDisabled = false; var today = DateTime.Today; if ((today.Year > year || (today.Month > month && today.Day > 10)) && !(User.IsInRole("ÜstDüzeyYetkili") || User.IsInRole("SistemYöneticisi"))) { isDisabled = true; } foreach (var dateTime in AllDatesInMonth(year, month)) { long secenekId = TableConstants.DefaultOption; var izin = aylikPuantaj.Where(p => p.PersonelId == personel.Id && p.Tarih == dateTime).FirstOrDefault(); if (izin != null) { secenekId = izin.Secenek.Id; } row.columns.Add(new MonthlyTallyColumn { uid = dateTime.ToString("dd.MM.yyyy"), type = "poll", value = secenekId.ToString(), disabled = isDisabled }); } var hesaplamalar = AylikCalismaVeIzinleriHesapla(personel, aylikPuantaj, formuller); foreach (var hesap in hesaplamalar) { row.columns.Add(new MonthlyTallyColumn { uid = hesap.Item1, value = hesap.Item2.ToString(), type = "num", th = true }); } monthlyTallyResource.rows.Add(row); } return(Ok(monthlyTallyResource)); }