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));
        }
Пример #2
0
        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);
        }
Пример #4
0
        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"));
        }
Пример #6
0
        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 }));
        }
Пример #8
0
        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);
            }
        }