public List <EmployeeAbsence> GetAbcense()
        {
            List <EmployeeAbsence> absenceList = new List <EmployeeAbsence>();

            using (SqlConnection connection = new SqlConnection(CronusQueryWebService.GetConnectionString()))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand("SELECT  [Employee No_], [First Name], [Last Name], [From Date], [Cause of Absence Code] FROM [CRONUS Sverige AB$Employee]  INNER JOIN [CRONUS Sverige AB$Employee Absence] ON [CRONUS Sverige AB$Employee].No_= [CRONUS Sverige AB$Employee Absence].[Employee No_]  WHERE [Cause of Absence Code]= 'SJUK' AND [From Date] LIKE '%2004%'", connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            EmployeeAbsence newAbsence = new EmployeeAbsence();
                            newAbsence.empNo_             = reader.GetValue(0).ToString();
                            newAbsence.empFirstName       = reader.GetValue(1).ToString();
                            newAbsence.empLastName        = reader.GetValue(2).ToString();
                            newAbsence.fromDate           = reader.GetValue(3).ToString();
                            newAbsence.causeOfAbsenceCode = reader.GetValue(4).ToString();
                            absenceList.Add(newAbsence);
                        }
                    }
                }
            }
            return(absenceList);
        }
Ejemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            EmployeeAbsence employeeAbsence = db.EmployeeAbsences.Find(id);

            db.EmployeeAbsences.Remove(employeeAbsence);
            db.SaveChanges();

            MyLogger.GetInstance.Info("Employee absence was deleted successfull, Employee: " + employeeAbsence.EmployeeId + " Absence: " + employeeAbsence.AbsenceId);

            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        // GET: Availability/Details/5
        public ActionResult Details()
        {
            if (Session["UserID"] == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            int             id = Convert.ToInt16(Session["UserID"]); // Get employeeID from sessiondata
            EmployeeAbsence employeeAbsence = db.EmployeeAbsenceDates.Find(id);

            return(View(employeeAbsence));
        }
Ejemplo n.º 4
0
        // GET: EmployeeAbsences/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EmployeeAbsence employeeAbsence = db.EmployeeAbsences.Find(id);

            if (employeeAbsence == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("_Delete", employeeAbsence));
        }
Ejemplo n.º 5
0
        public ActionResult Edit([Bind(Include = "EmployeeAbsenceId,EmployeeId,AbsenceId,StartDate,EndDate,Comment")] EmployeeAbsence employeeAbsence)
        {
            if (ModelState.IsValid)
            {
                db.Entry(employeeAbsence).State = EntityState.Modified;
                db.SaveChanges();

                MyLogger.GetInstance.Info("Employee absence was edited successfull, Employee: " + employeeAbsence.EmployeeId + " Absence: " + employeeAbsence.AbsenceId);

                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }
            ViewBag.AbsenceId = new SelectList(db.Absences, "AbsenceId", "Name", employeeAbsence.AbsenceId);
            return(PartialView("_Edit", employeeAbsence));
        }
Ejemplo n.º 6
0
        // GET: EmployeeAbsences/Create
        public ActionResult Create()
        {
            var companies = db.UserCompanies.Where(w => w.User.UserName == User.Identity.Name).Select(s => s.CompanyId).Distinct().ToList();

            ViewBag.EmployeeId = new SelectList(db.Employees.Where(w => companies.Contains(w.Department.CompanyId)), "EmployeeId", "CodeAndFullName");
            ViewBag.AbsenceId  = new SelectList(db.Absences, "AbsenceId", "Name");

            var employeeAbsence = new EmployeeAbsence();

            employeeAbsence.StartDate = DateTime.Now;
            employeeAbsence.EndDate   = DateTime.Now;

            return(PartialView("_Create", employeeAbsence));
        }
Ejemplo n.º 7
0
        // GET: EmployeeAbsences/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EmployeeAbsence employeeAbsence = db.EmployeeAbsences.Find(id);

            if (employeeAbsence == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AbsenceId = new SelectList(db.Absences, "AbsenceId", "Name", employeeAbsence.AbsenceId);
            return(PartialView("_Edit", employeeAbsence));
        }
Ejemplo n.º 8
0
        // GET: Availability/Delete/5
        public ActionResult Delete(DateTime date)
        {
            if (date == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            EmployeeAbsence employeeAbsence = db.EmployeeAbsenceDates.Where(ead => ead.Date == date).FirstOrDefault();

            if (employeeAbsence != null)
            {
                db.EmployeeAbsenceDates.Remove(employeeAbsence);
                db.SaveChanges();
            }

            return(RedirectToAction("AbsenceDates"));
        }
        public async Task <IActionResult> GetEmployeeAbsenceById(Int64 EmployeeAbsenceId)
        {
            EmployeeAbsence Items = new EmployeeAbsence();

            try
            {
                Items = await _context.EmployeeAbsence.Where(q => q.EmployeeAbsenceId == EmployeeAbsenceId).FirstOrDefaultAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }


            return(await Task.Run(() => Ok(Items)));
        }
Ejemplo n.º 10
0
        public async Task <ActionResult <EmployeeAbsence> > Insert([FromBody] EmployeeAbsence _EmployeeAbsence)
        {
            EmployeeAbsence _EmployeeAbsenceq = new EmployeeAbsence();

            try
            {
                _EmployeeAbsenceq = _EmployeeAbsence;
                _context.EmployeeAbsence.Add(_EmployeeAbsenceq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }

            return(await Task.Run(() => Ok(_EmployeeAbsenceq)));
        }
Ejemplo n.º 11
0
        public ActionResult Create([Bind(Include = "EmployeeAbsenceId,EmployeeId,AbsenceId,StartDate,EndDate,Comment")] EmployeeAbsence employeeAbsence)
        {
            if (ModelState.IsValid)
            {
                db.EmployeeAbsences.Add(employeeAbsence);
                db.SaveChanges();

                MyLogger.GetInstance.Info("Employee absence was created successfull, Employee: " + employeeAbsence.EmployeeId + " Absence: " + employeeAbsence.AbsenceId);

                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }

            var companies = db.UserCompanies.Where(w => w.User.UserName == User.Identity.Name).Select(s => s.CompanyId).Distinct().ToList();

            ViewBag.EmployeeId = new SelectList(db.Employees.Where(w => companies.Contains(w.Department.CompanyId)), "EmployeeId", "CodeAndFullName");
            ViewBag.AbsenceId  = new SelectList(db.Absences, "AbsenceId", "Name", employeeAbsence.AbsenceId);
            return(PartialView("_Create", employeeAbsence));
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> Delete([FromBody] EmployeeAbsence _EmployeeAbsence)
        {
            EmployeeAbsence _EmployeeAbsenceq = new EmployeeAbsence();

            try
            {
                _EmployeeAbsenceq = _context.EmployeeAbsence
                                    .Where(x => x.EmployeeAbsenceId == (Int64)_EmployeeAbsence.EmployeeAbsenceId)
                                    .FirstOrDefault();

                _context.EmployeeAbsence.Remove(_EmployeeAbsenceq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_EmployeeAbsenceq)));
        }
Ejemplo n.º 13
0
        public async Task <ActionResult <EmployeeAbsence> > Update([FromBody] EmployeeAbsence _EmployeeAbsence)
        {
            EmployeeAbsence _EmployeeAbsenceq = _EmployeeAbsence;

            try
            {
                _EmployeeAbsenceq = await(from c in _context.EmployeeAbsence
                                          .Where(q => q.EmployeeAbsenceId == _EmployeeAbsence.EmployeeAbsenceId)
                                          select c
                                          ).FirstOrDefaultAsync();

                _context.Entry(_EmployeeAbsenceq).CurrentValues.SetValues((_EmployeeAbsence));

                //_context.EmployeeAbsence.Update(_EmployeeAbsenceq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_EmployeeAbsenceq)));
        }
Ejemplo n.º 14
0
        public ActionResult Create([Bind(Include = "EmployeeId,Date")] EmployeeAbsence employeeAbsence, DateTime?fromDate, DateTime?toDate)
        {
            employeeAbsence.Date       = fromDate ?? DateTime.MinValue;      /* Set employeeAbsense date to fromDate to fix datetime picker.
                                                                              * If fromDate is not filled in set value to minValue which will be picked up in further check*/
            employeeAbsence.EmployeeId = Convert.ToInt16(Session["UserID"]); // Get employeeID from sessiondata

            if (employeeAbsence.Date == DateTime.MinValue)
            {
                ViewBag.ErrorMessage = "Vul een datum in!";
                return(View("../Home/Availability"));
            }
            else if (employeeAbsence.Date <= DateTime.Now) // Check on valid date
            {
                ViewBag.ErrorMessage = "Kan de datum van vandaag of datum in het verleden niet selecteren";
                return(View("../Home/Availability"));
            }

            var inspectionAtAbsenceDate = db.Inspections.Where(i => i.StartDate == employeeAbsence.Date && i.EmployeeId == employeeAbsence.EmployeeId).FirstOrDefault();

            if (inspectionAtAbsenceDate != null)
            {
                ViewBag.ErrorMessage = "Er is al een festival geplanned op de dag waarop u absent wilt zijn. Neem contact op met FestiSpec om dit te bespreken.";
                return(View("../Home/Availability"));
            }

            if (toDate == null) // If only one date is selected
            {
                if (ModelState.IsValid)
                {
                    db.EmployeeAbsenceDates.Add(employeeAbsence);
                    try
                    {
                        db.SaveChanges();
                        ViewBag.SuccesMessage = "Datum is succesvol toegevoegd!";
                    }
                    catch
                    {
                        ViewBag.ErrorMessage = "Datum is niet goed toegevoegd";
                    };

                    return(View("../Home/Availability"));
                }
            }
            else // When multiple dates need to be added to the database since to date is filled in
            {
                if (ModelState.IsValid)
                {
                    for (DateTime tempdate = employeeAbsence.Date; tempdate <= toDate; tempdate = tempdate.AddDays(1))
                    {
                        EmployeeAbsence ea = new EmployeeAbsence
                        {
                            EmployeeId = employeeAbsence.EmployeeId,
                            Date       = tempdate,
                            Employee   = employeeAbsence.Employee
                        };

                        db.EmployeeAbsenceDates.Add(ea);

                        try
                        {
                            db.SaveChanges();
                            ViewBag.SuccesMessage = "Een of meerdere datums zijn succesvol toegevoegd";
                        }
                        catch
                        {
                            ViewBag.ErrorMessage = "Er is iets fout gegaan bij het toevoegen van datum: " + ea.Date + " mogelijk datums na deze datum zijn hierdoor ook niet toegevoegd";
                            return(View("../Home/Availability"));
                        };
                    }

                    return(View("../Home/Availability"));
                }
            }



            return(View(employeeAbsence));
        }