public IActionResult ShowSalaryDetails(Int64 tid, DateTime date) { var t = _context.Teacher.ToList(); var td = _context.TeacherDesignation.ToList(); var ts = _context.TeacherSalary.ToList(); var query = (from qt in t join qtd in td on qt.DesigId equals qtd.DesigId join qts in ts on qt.DesigId equals qts.DesigId where qt.TeacherId == tid select new { tcrid = tid, tcrname = qt.TeacherName, tcrdsgid = qtd.DesigId, tcrdsg = qtd.DesigName, sal = qts.Salary, dt = date }).FirstOrDefault(); SalaryDetailsViewModel sdvm = new SalaryDetailsViewModel(); sdvm.teacheridVM = query.tcrid; sdvm.teachernameVM = query.tcrname; sdvm.desigidVM = query.tcrdsgid; sdvm.designameVM = query.tcrdsg; sdvm.salaryVM = query.sal; sdvm.dateVM = query.dt; return(View(sdvm)); }
public IHttpActionResult Post(SalaryDemandViewModel model) { if (ModelState.IsValid) { XDocument xml; try { xml = EapXML.LoadXML(model.Month, model.Year); } catch (EAPXMLException e) { return(this.NotFound(e.Message)); } SalaryDetailsViewModel employee = EapXMLTool.GetSalaryDetailsViewModel(xml, model.Afm); if (employee == null) { return(this.NotFound(string.Format("Ο υπαλληλος με ΑΦΜ:{0} δεν βρέθηκε στο XML της περιόδου {1}/{2}", model.Afm, model.Month, model.Year))); } return(Ok <SalaryDetailsViewModel>(employee)); } else { return(BadRequest(ModelState)); } //return Ok(); }
public List <SalaryDetailsViewModel> GetAllSalaries() { var allSalaries = _db.Salaries.Include(s => s.Employment) .Include(s => s.Employment.Company) .Include(s => s.Employment.Student).ToList(); var details = new List <SalaryDetailsViewModel>(); foreach (var salary in allSalaries) { SalaryDetailsViewModel salaryDetailsView = new SalaryDetailsViewModel { Amount = salary.Amount, CompanyName = salary.Employment.Company.Name, Date = salary.Date, EmploymentId = salary.EmploymentId, Id = salary.Id, PayDay = salary.PayDay, Role = salary.Role, StudentName = salary.Employment.Student.Name }; details.Add(salaryDetailsView); } return(details); }
public ActionResult SalaryDetails(SalaryDetailsViewModel inputModel) { SalaryDetailsViewModel outputModel = new SalaryDetailsViewModel(); if (ModelState.IsValidField("Month") && ModelState.IsValidField("UploadedFile")) { string localFileFullName = Path.GetTempFileName(); try { string[] arr = inputModel.Month.Split("/".ToArray(), StringSplitOptions.RemoveEmptyEntries); string selectedYear = arr[1]; string selectedMonth = arr[0]; if (inputModel.UploadedFile.ContentLength == 0) { ViewBag.ErrorMsg = "The uploaded file is empty"; return(View(inputModel)); } else { Stream uploadFileStream = inputModel.UploadedFile.InputStream; string uploadFileFullName = inputModel.UploadedFile.FileName; string TableName = uploadFileFullName.Split(".".ToArray())[0]; SalaryUploadService service = new SalaryUploadService(uploadFileFullName, uploadFileStream, selectedYear, selectedMonth, LoginName); ReturnResultTable rrt = service.ReadFile(); if (rrt.Succeeded) { DataTable dt = rrt.SalaryTable; outputModel.SalaryTable = dt; outputModel.TableName = TableName; ViewBag.showTable = true; } else { ViewBag.ErrorMsg = rrt.ErrorMsg; } } } catch (Exception ex) { ViewBag.ErrorMsg = ex.Message; } ModelState.Clear(); return(View(outputModel)); } else { ViewBag.ErrorMsg = "the month or upload file is required"; } return(View(outputModel)); }
public IActionResult GiveSalary(SalaryDetailsViewModel sdvm) { SalaryDetails sd = new SalaryDetails(); sd.SalaryDetailsId = 0; sd.TeacherId = sdvm.teacheridVM; sd.TeacherName = sdvm.teachernameVM; sd.DesigId = sdvm.desigidVM; sd.DesigName = sdvm.designameVM; sd.Salary = sdvm.salaryVM; sd.Date = sdvm.dateVM; sd.Status = true; _context.SalaryDetails.Add(sd); _context.SaveChanges(); return(RedirectToAction("EnterTcrInfo")); }
public IHttpActionResult GetEmployeeSalary(string afm, short month, int year) { XDocument xml; try { xml = EapXML.LoadXML(3, 2014); } catch (EAPXMLException e) { return(this.NotFound(e.Message)); } SalaryDetailsViewModel employee = EapXMLTool.GetSalaryDetailsViewModel(xml, afm); if (employee == null) { return(this.NotFound(string.Format("Ο υπαλληλος με ΑΦΜ:{0} δεν βρέθηκε στο XML της περιόδου {1}/{2}", afm, month, year))); } return(Ok <SalaryDetailsViewModel>(employee)); }
public IActionResult EnterTcrInfo(SalaryDetailsViewModel sdvm) { var t = _context.Teacher.ToList(); t.Insert(0, new Teacher { TeacherId = 0, TeacherName = "Select Teacher" }); ViewBag.vt = t; if (sdvm.teacheridVM == 0) { ViewBag.msg1 = "Please select a teacher"; return(View()); } var v = _context.SalaryDetails.Where(q => q.TeacherId == sdvm.teacheridVM && sdvm.dateVM.Month == q.Date.Month && sdvm.dateVM.Year == q.Date.Year).FirstOrDefault(); if (v != null) { ViewBag.msg2 = "Salary is already paid for this teacher"; return(View()); } return(RedirectToAction("ShowSalaryDetails", new { tid = sdvm.teacheridVM, date = sdvm.dateVM })); }
public static SalaryDetailsViewModel GetSalaryDetailsViewModel(XDocument xml, string tin) { SalaryDetailsViewModel model; // Διαβάζουμε για τον υπαλληλο το Indentification XElement και το αντίστοιχο SalaryEmployeeInfo instance XElement identification = EapXMLTool.GetEmployeeIdentification(xml, tin); if (identification != null) { SalaryEmployeeInfo employee = EapXMLTool.GetEmployeeInfoFromElement(identification); // Διαβάζουμε το payment parent XElement του Identification XElement payment = EapXMLTool.GetEmployeePaymentParent(identification); // και παίρνουμε όλα τα incomes του υπαλληλου IEnumerable <XElement> incomes = EapXMLTool.GetPaymentIncomes(payment); // κρατάμε τα incomes τακτικής μισθοδοσίας και αναδρομικών IEnumerable <XElement> incomesTaktikhs = EapXMLTool.GetPaymentIncomesOfType(incomes, 0); IEnumerable <XElement> incomesAnadromikwn = EapXMLTool.GetPaymentIncomesOfType(incomes, 1); IEnumerable <XElement> incomesTrimhnes = EapXMLTool.GetPaymentIncomesOfType(incomes, 2); IEnumerable <XElement> incomesEkpApodoxwn = EapXMLTool.GetPaymentIncomesOfType(incomes, 3); IEnumerable <XElement> incomesApozhmiwsh = EapXMLTool.GetPaymentIncomesOfType(incomes, 4); IEnumerable <XElement> incomesApozhmiwshAdeias = EapXMLTool.GetPaymentIncomesOfType(incomes, 5); IEnumerable <XElement> incomesEteroxronismenh = EapXMLTool.GetPaymentIncomesOfType(incomes, 6); SalaryEmployeeDetails detailsTaktikwn = EapXMLTool.GetPaymentTaktikisAmounts(incomesTaktikhs.ToList(), 0); SalaryEmployeeDetails detailsAnadromikwn = EapXMLTool.GetPaymentTaktikisAmounts(incomesAnadromikwn.ToList(), 1); SalaryEmployeeDetails detailsTrimhnesApodoxes = EapXMLTool.GetPaymentTaktikisAmounts(incomesTrimhnes.ToList(), 2); SalaryEmployeeDetails detailsEkpaidApodoxes = EapXMLTool.GetPaymentTaktikisAmounts(incomesEkpApodoxwn.ToList(), 3); SalaryEmployeeDetails detailsApozhmiwsh = EapXMLTool.GetPaymentTaktikisAmounts(incomesApozhmiwsh.ToList(), 4); SalaryEmployeeDetails detailsApozhmiwshAdeias = EapXMLTool.GetPaymentTaktikisAmounts(incomesApozhmiwshAdeias.ToList(), 5); SalaryEmployeeDetails detailsEteroxronismenh = EapXMLTool.GetPaymentTaktikisAmounts(incomesEteroxronismenh.ToList(), 6); SalaryTotals ABamounts = EapXMLTool.GetPaymentABAmounts(payment); model = new SalaryDetailsViewModel(); model.SalaryEmployee = employee; model.SalaryTotalAmounts = ABamounts; model.SalaryDetalis = new List <SalaryEmployeeDetails>(); if (detailsTaktikwn != null) { model.SalaryDetalis.Add(detailsTaktikwn); } if (detailsAnadromikwn != null) { model.SalaryDetalis.Add(detailsAnadromikwn); } if (detailsTrimhnesApodoxes != null) { model.SalaryDetalis.Add(detailsTrimhnesApodoxes); } if (detailsEkpaidApodoxes != null) { model.SalaryDetalis.Add(detailsEkpaidApodoxes); } if (detailsApozhmiwsh != null) { model.SalaryDetalis.Add(detailsApozhmiwsh); } if (detailsApozhmiwshAdeias != null) { model.SalaryDetalis.Add(detailsApozhmiwshAdeias); } if (detailsEteroxronismenh != null) { model.SalaryDetalis.Add(detailsEteroxronismenh); } return(model); } else { return(null); } }