public static IEnumerable <AttendenceViewModel> GetAttendencesToStudent(string snn)
        {
            using (var context = new FinalSchool())
            {
                var student            = context.Students.Find(snn);
                var studentAttendences = (from stu in context.Students
                                          join attend in context.Attendences
                                          on stu.StudentId equals attend.StudentId
                                          where stu.StudentId == snn
                                          select attend)
                                         .ToList();

                var studentAttendViewList = new List <AttendenceViewModel>();
                foreach (var item in studentAttendences)
                {
                    var studentAttendView = new AttendenceViewModel()
                    {
                        StudentSNN  = item.StudentId,
                        CourseName  = item.Session.Course.Name,
                        IsAttended  = item.IsAttended,
                        SessionDate = item.Session.StartDate,
                        StudentName = item.Student.FName + ' ' + item.Student.FName,
                        TeacherName = item.Session.Teacher.FName + ' ' + item.Session.Teacher.LName,
                    };
                    studentAttendViewList.Add(studentAttendView);
                }
                return(studentAttendViewList);
            }
        }
 public static void ChangeAttendenceState(AttendenceViewModel attendenceViewModel)
 {
     using (var context = new FinalSchool())
     {
         var studentAtt = context.Students.FirstOrDefault(x => x.StudentId == attendenceViewModel.StudentSNN);
         var courseAtt  = context.Courses.FirstOrDefault(x => x.Name == attendenceViewModel.CourseName);
         var teacher    = context.Teachers.FirstOrDefault(x => x.FName == attendenceViewModel.TeacherName);
         var session    = new Session
         {
             Course    = courseAtt,
             CourseId  = courseAtt.CourseId,
             StartDate = DateTime.Now,
             Teacher   = teacher,
             TeacherId = teacher.TeacherId,
         };
         context.Sessions.Add(session);
         context.SaveChanges();
         var attendence = new Attendence()
         {
             Student    = studentAtt,
             StudentId  = studentAtt.StudentId,
             IsAttended = attendenceViewModel.IsAttended,
             Session    = session,
             SessionId  = session.SessionId,
         };
         context.Attendences.Add(attendence);
         context.SaveChanges();
     }
 }
示例#3
0
        public List <AttendenceViewModel> GetAllAttendence()
        {
            var returningList = new List <AttendenceViewModel>();

            var models = närvaroDb.GetAllAttendenceItems();

            foreach (var model in models)
            {
                var viewModel = new AttendenceViewModel
                {
                    DateConcerning       = model.DateConcerning,
                    DeltagarIdInQuestion = model.DeltagarIdInQuestion,
                    DeltagarNamn         = deltagareDb.GetDeltagare(model.DeltagarIdInQuestion).DeltagarNamn,
                    Måndag          = HelperConvertLogic.GetAttendenceOptionFromString(model.Måndag),
                    Tisdag          = HelperConvertLogic.GetAttendenceOptionFromString(model.Tisdag),
                    Onsdag          = HelperConvertLogic.GetAttendenceOptionFromString(model.Onsdag),
                    Torsdag         = HelperConvertLogic.GetAttendenceOptionFromString(model.Torsdag),
                    Fredag          = HelperConvertLogic.GetAttendenceOptionFromString(model.Fredag),
                    ExpectedMåndag  = HelperConvertLogic.GetWorkDayFromString(model.ExpectedMåndag),
                    ExpectedTisdag  = HelperConvertLogic.GetWorkDayFromString(model.ExpectedTisdag),
                    ExpectedOnsdag  = HelperConvertLogic.GetWorkDayFromString(model.ExpectedOnsdag),
                    ExpectedTorsdag = HelperConvertLogic.GetWorkDayFromString(model.ExpectedTorsdag),
                    ExpectedFredag  = HelperConvertLogic.GetWorkDayFromString(model.ExpectedFredag),
                    Id = model.Id
                };
                returningList.Add(viewModel);
            }
            return(returningList);
        }
示例#4
0
        public ActionResult Create(AttendenceViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Attendence attendence = Mapper.Map <Attendence>(viewModel);
                    attendence.Id        = Guid.NewGuid();
                    attendence.CompanyId = CompanyCookie.CompId;
                    _dbContext.Attendences.Add(attendence);
                    _dbContext.SaveChanges();

                    Salary salary = new Salary();
                    salary.CompanyId = CompanyCookie.CompId;
                    salary.Date      = viewModel.Date;
                    _dbContext.Salary.Add(salary);
                    _dbContext.SaveChanges();
                    TempData["MessageToClientSuccess"] = "Attendence Date SuccessFully Created";
                }
                catch (Exception ex)
                {
                    // Log4NetHelper.Log(String.Format("Cannot Create Deparment {0} ", viewModel.Id), LogLevel.ERROR, "Department", viewModel.Id, User.Identity.Name, ex);
                    var msg = new ModelStateException(ex);
                    TempData["MessageToClientError"] = msg;
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.CompanyId = new SelectList(_dbContext.Companyies, "Id", "CompanyName");
            return(View(viewModel));
        }
 public AttendenceHomePage(AttendenceViewModel _viewModel)
 {
     InitializeComponent();
     viewModel            = _viewModel;
     greetingMessage      = greetingMessages[new Random().Next(0, greetingMessages.Length - 1)] + " " + viewModel.UserName + "!";
     GreetingMessage.Text = greetingMessage;
     if (!viewModel.ClassesRegistered)
     {
         ClassesRegisteredLabel.Text = "You are not a member of any classes. To get started, create a class or join one!";
     }
 }
示例#6
0
 public ActionResult Edit(AttendenceViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         Attendence attendence = Mapper.Map <Attendence>(viewModel);
         _dbContext.Entry(attendence).State = EntityState.Modified;
         _dbContext.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CompanyId = new SelectList(_dbContext.Companyies, "Id", "CompanyName");
     return(View(viewModel));
 }
 public IActionResult Post([FromBody] AttendenceViewModel attendence)
 {
     if (attendence == null)
     {
         return(BadRequest("Attendence is null."));
     }
     attendence.LogDate = DateTime.Now;
     _dataRepository.Add(_mapper.Map <Attendence>(attendence));
     return(CreatedAtRoute(
                "Get",
                new { Id = attendence.ID },
                attendence));
 }
 public ActionResult Edit(int?id, AttendenceViewModel obj)
 {
     try
     {
         db.Attendences.Find(id).Date   = obj.Date;
         db.Attendences.Find(id).Status = obj.Status;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
        public ActionResult Delete(int?id, AttendenceViewModel obj)
        {
            try
            {
                // TODO: Add insert logic here

                var v = db.Attendences.Where(a => a.AttendenceID == id).First();
                db.Entry(v).State = EntityState.Deleted;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
        // GET: Attendences/Edit/5
        public ActionResult Edit(int?id)
        {
            AttendenceViewModel obj = new AttendenceViewModel();
            Attendence          A   = db.Attendences.Find(id);

            if (A == null)
            {
                return(HttpNotFound());
            }
            else
            {
                obj.AttendenceID = A.AttendenceID;
                obj.Date         = A.Date;
                obj.Status       = A.Status;
                obj.StaffID      = A.StaffID;
            }
            return(View(obj));
        }
 public ActionResult Create(int id, AttendenceViewModel obj)
 {
     try
     {
         Attendence Att = new Attendence();
         Att.Date    = obj.Date;
         Att.Status  = obj.Status.ToString();
         Att.StaffID = id;
         db.Attendences.Add(Att);
         db.SaveChanges();
         // return RedirectToAction("Index");
         ViewBag.Message = "Attendence has been Marked ";
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
 public static IEnumerable <AttendenceViewModel> GetAll()
 {
     using (var context = new FinalSchool())
     {
         var attendViewList = new List <AttendenceViewModel>();
         foreach (var attend in context.Attendences.ToList())
         {
             var attendenceView = new AttendenceViewModel()
             {
                 CourseName  = attend.Session.Course.Name,
                 IsAttended  = attend.IsAttended,
                 SessionDate = attend.Session.StartDate,
                 StudentName = attend.Student.FName + ' ' + attend.Student.LName,
                 TeacherName = attend.Session.Teacher.FName + ' ' + attend.Session.Teacher.LName,
             };
             attendViewList.Add(attendenceView);
         }
         return(attendViewList);
     }
 }
示例#13
0
        public IActionResult UpdateNärvaro(AttendenceViewModel viewModel)
        {
            if (User.Identity.Name != "admin" && User.Identity.Name != "piahag")
            {
                return(RedirectToAction("index", "inventarie"));
            }
            string   rawdate     = HttpContext.Request.Cookies["userSelectedDate"];
            DateTime date        = Convert.ToDateTime(rawdate);
            var      deltagare   = deltagarList.FirstOrDefault(x => x.DeltagarNamn == viewModel.DeltagarNamn);
            var      ogViewModel = närvaroLogic.GetAttendenceForDate(date).First(x => x.DeltagarNamn == viewModel.DeltagarNamn);

            ogViewModel.Måndag  = viewModel.Måndag;
            ogViewModel.Tisdag  = viewModel.Tisdag;
            ogViewModel.Onsdag  = viewModel.Onsdag;
            ogViewModel.Torsdag = viewModel.Torsdag;
            ogViewModel.Fredag  = viewModel.Fredag;

            närvaroLogic.UpdateAttendence(ogViewModel);
            return(RedirectToAction("Attendence"));
        }
示例#14
0
        public void AddNärvaro(AttendenceViewModel viewModel)
        {
            var deltagare = deltagareDb.GetAllDeltagarModels().First(x => x.DeltagarNamn == viewModel.DeltagarNamn);
            var model     = new AttendenceModel
            {
                DateConcerning       = viewModel.DateConcerning,
                DeltagarIdInQuestion = deltagare.Id,
                Måndag          = viewModel.Måndag.ToString(),
                Tisdag          = viewModel.Tisdag.ToString(),
                Onsdag          = viewModel.Onsdag.ToString(),
                Torsdag         = viewModel.Torsdag.ToString(),
                Fredag          = viewModel.Fredag.ToString(),
                ExpectedMåndag  = deltagare.Måndag,
                ExpectedTisdag  = deltagare.Tisdag,
                ExpectedOnsdag  = deltagare.Onsdag,
                ExpectedTorsdag = deltagare.Torsdag,
                ExpectedFredag  = deltagare.Fredag
            };

            närvaroDb.AddAttendence(model);
        }
        /// <summary>
        /// Custom sort the datagrid since the actual records are stored in the
        /// server, not in the items collection of the datagrid.
        /// </summary>
        /// <param name="sender">The parts data grid.</param>
        /// <param name="e">Contains the column to be sorted.</param>
        private void AttendencesDataGrid_Sorting(object sender, DataGridSortingEventArgs e)
        {
            e.Handled = true;

            AttendenceViewModel attViewModel = (AttendenceViewModel)DataContext;

            string sortField = String.Empty;

            // Use a switch statement to check the SortMemberPath
            // and set the sort column to the actual column name. In this case,
            // the SortMemberPath and column names match.
            switch (e.Column.SortMemberPath)
            {
            case ("Sn"):
                sortField = "Sn";
                break;

            case ("Name"):
                sortField = "Name";
                break;

            case ("AtTime"):
                sortField = "AtTime";
                break;
            }

            ListSortDirection direction = (e.Column.SortDirection != ListSortDirection.Ascending) ?
                                          ListSortDirection.Ascending : ListSortDirection.Descending;

            bool sortAscending = direction == ListSortDirection.Ascending;

            attViewModel.Sort(sortField, sortAscending);

            currentSortColumn.SortDirection = null;

            e.Column.SortDirection = direction;

            currentSortColumn    = e.Column;
            currentSortDirection = direction;
        }
 // GET: Attendences
 public ActionResult Index()
 {
     try
     {
         List <Attendence>          list     = db.Attendences.ToList();
         List <AttendenceViewModel> viewList = new List <AttendenceViewModel>();
         foreach (Attendence A in list)
         {
             AttendenceViewModel obj = new AttendenceViewModel();
             obj.AttendenceID = A.AttendenceID;
             obj.Date         = A.Date;
             obj.Status       = A.Status;
             obj.StaffID      = A.StaffID;
             viewList.Add(obj);
         }
         return(View(viewList));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#17
0
        public void UpdateAttendence(AttendenceViewModel attendence)
        {
            var deltagare = deltagareDb.GetAllDeltagarModels().First(x => x.DeltagarNamn == attendence.DeltagarNamn);
            var model     = new AttendenceModel
            {
                DateConcerning       = attendence.DateConcerning,
                DeltagarIdInQuestion = deltagare.Id,
                Måndag          = attendence.Måndag.ToString(),
                Tisdag          = attendence.Tisdag.ToString(),
                Onsdag          = attendence.Onsdag.ToString(),
                Torsdag         = attendence.Torsdag.ToString(),
                Fredag          = attendence.Fredag.ToString(),
                ExpectedMåndag  = attendence.ExpectedMåndag.ToString(),
                ExpectedTisdag  = attendence.ExpectedTisdag.ToString(),
                ExpectedOnsdag  = attendence.ExpectedOnsdag.ToString(),
                ExpectedTorsdag = attendence.ExpectedTorsdag.ToString(),
                ExpectedFredag  = attendence.ExpectedFredag.ToString(),
                Id = attendence.Id,
            };

            närvaroDb.UpdateAttendence(model);
        }
示例#18
0
 public AttendeesControl()
 {
     InitializeComponent();
     model            = new AttendenceViewModel();
     this.DataContext = model;
 }
示例#19
0
        public List <AttendenceViewModel> GetAttendenceForDate(DateTime date, DeltagareViewModel deltagarModel)
        {
            if (date.DayOfWeek == DayOfWeek.Tuesday)
            {
                date = date.AddDays(-1);
            }
            else if (date.DayOfWeek == DayOfWeek.Wednesday)
            {
                date = date.AddDays(-2);
            }
            else if (date.DayOfWeek == DayOfWeek.Thursday)
            {
                date = date.AddDays(-3);
            }
            else if (date.DayOfWeek == DayOfWeek.Friday)
            {
                date = date.AddDays(-4);
            }
            else if (date.DayOfWeek == DayOfWeek.Saturday)
            {
                date = date.AddDays(-5);
            }
            else if (date.DayOfWeek == DayOfWeek.Sunday)
            {
                date = date.AddDays(-6);
            }
            var returningList    = new List <AttendenceViewModel>();
            var deltagarnaActive = deltagareDb.GetAllDeltagarModels().Where(x => x.DeltagarNamn == deltagarModel.DeltagarNamn).ToList();

            foreach (var deltagare in deltagarnaActive)
            {
                var attendences = närvaroDb.GetAttendenceForDate(date).Where(x => x.DeltagarIdInQuestion == deltagare.Id).ToList();
                if (attendences.Count == 0)
                {
                    var model = new AttendenceModel
                    {
                        DateConcerning       = date,
                        DeltagarIdInQuestion = deltagare.Id,
                        ExpectedFredag       = deltagare.Fredag,
                        ExpectedTorsdag      = deltagare.Torsdag,
                        ExpectedOnsdag       = deltagare.Onsdag,
                        ExpectedTisdag       = deltagare.Tisdag,
                        ExpectedMåndag       = deltagare.Måndag,
                        Fredag  = AttendenceOption.Frånvarande.ToString(),
                        Torsdag = AttendenceOption.Frånvarande.ToString(),
                        Onsdag  = AttendenceOption.Frånvarande.ToString(),
                        Tisdag  = AttendenceOption.Frånvarande.ToString(),
                        Måndag  = AttendenceOption.Frånvarande.ToString()
                    };
                    närvaroDb.AddAttendence(model);
                    model = närvaroDb.GetAttendenceForDate(date).LastOrDefault(x => x.DeltagarIdInQuestion == deltagare.Id);
                    var viewModel = new AttendenceViewModel
                    {
                        DateConcerning       = date,
                        DeltagarIdInQuestion = deltagare.Id,
                        DeltagarNamn         = deltagareDb.GetDeltagare(model.DeltagarIdInQuestion).DeltagarNamn,
                        ExpectedFredag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Fredag),
                        ExpectedTorsdag      = HelperConvertLogic.GetWorkDayFromString(deltagare.Torsdag),
                        ExpectedOnsdag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Onsdag),
                        ExpectedTisdag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Tisdag),
                        ExpectedMåndag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Måndag),
                        Fredag  = AttendenceOption.Frånvarande,
                        Torsdag = AttendenceOption.Frånvarande,
                        Onsdag  = AttendenceOption.Frånvarande,
                        Tisdag  = AttendenceOption.Frånvarande,
                        Måndag  = AttendenceOption.Frånvarande,
                        Id      = model.Id
                    };
                    returningList.Add(viewModel);
                }
                else
                {
                    var model     = attendences.FirstOrDefault(x => x.DeltagarIdInQuestion == deltagare.Id);
                    var viewModel = new AttendenceViewModel
                    {
                        Id                   = model.Id,
                        DateConcerning       = date,
                        DeltagarIdInQuestion = deltagare.Id,
                        DeltagarNamn         = deltagareDb.GetDeltagare(model.DeltagarIdInQuestion).DeltagarNamn,
                        ExpectedFredag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Fredag),
                        ExpectedTorsdag      = HelperConvertLogic.GetWorkDayFromString(deltagare.Torsdag),
                        ExpectedOnsdag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Onsdag),
                        ExpectedTisdag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Tisdag),
                        ExpectedMåndag       = HelperConvertLogic.GetWorkDayFromString(deltagare.Måndag),
                        Fredag               = HelperConvertLogic.GetAttendenceOptionFromString(model.Fredag),
                        Torsdag              = HelperConvertLogic.GetAttendenceOptionFromString(model.Torsdag),
                        Onsdag               = HelperConvertLogic.GetAttendenceOptionFromString(model.Onsdag),
                        Tisdag               = HelperConvertLogic.GetAttendenceOptionFromString(model.Tisdag),
                        Måndag               = HelperConvertLogic.GetAttendenceOptionFromString(model.Måndag)
                    };
                    returningList.Add(viewModel);
                }
            }
            return(returningList);
        }
 public AttendenceRecord2()
 {
     InitializeComponent();
     DataContext = new AttendenceViewModel();
 }
 public void Post(AttendenceViewModel attendenceViewModel)
 {
     AttendenceService.ChangeAttendenceState(attendenceViewModel);
 }