public ActionResult GetMemberStatistics()
        {
            BussinesLayer       bl     = new BussinesLayer(new FinalDB());
            StatisticsViewModel statVM = new StatisticsViewModel();

            return(View("GetMemberStatistics", statVM));
        }
        public ActionResult Register()
        {
            BussinesLayer              bl                      = new BussinesLayer(new FinalDB());
            List <Department>          departments             = bl.GetAllDepartments();
            RegisterViewModel          registerViewModel       = new RegisterViewModel();
            List <DepartmentViewModel> departmentViewModelList = new List <DepartmentViewModel>();

            foreach (Department item in departments)
            {
                departmentViewModelList.Add(new DepartmentViewModel()
                {
                    ID   = item.ID,
                    Name = item.Name
                });
            }
            List <ProgramsViewModel> programsVM    = new List <ProgramsViewModel>();
            List <Programs>          programsModel = bl.GetAllPrograms();

            foreach (Programs p in programsModel)
            {
                programsVM.Add(new ProgramsViewModel()
                {
                    ID   = p.ID,
                    Name = p.Name
                });
            }
            registerViewModel.DepartmentList = departmentViewModelList;
            registerViewModel.Programs       = programsVM;
            registerViewModel.AcademicYears  = Services.Utilities.AcademicYears;
            registerViewModel.GenderArr      = Services.Utilities.Genders;
            return(View("Register", registerViewModel));
        }
示例#3
0
        public ActionResult DeleteSession(int sessionID)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            bl.RemoveSession(sessionID);
            return(RedirectToAction("ShowSessions"));
        }
示例#4
0
        private bool CheckGroupForm(Session session, string[] students)
        {
            // must be different students in group form
            bool ans = students.GroupBy(n => n).Any(c => c.Count() > 1);

            if (ans)
            {
                this.SetErrorMsg("לא ניתן להכניס את אותו הסטודנט");
                return(false);
            }

            // check for duplicats sessions by student
            BussinesLayer bl      = new BussinesLayer(new FinalDB());
            int           counter = 0;
            string        msg     = "";

            for (int i = 0; i < students.Length; i++)
            {
                session.StudentUserName = students[i];
                List <Session> duplicates = bl.GetDuplicateSessionsByStudentUsername(session);
                if (duplicates.Count() > 0)
                {
                    msg += this.GetDuplicateMsg(duplicates);
                    counter++;
                }
            }
            if (counter > 0)
            {
                this.SetErrorMsg(msg); return(false);
            }
            return(true);
        }
示例#5
0
        public ActionResult CreateNewRequest(RequestViewModel requestViewModel)
        {
            BussinesLayer bl        = new BussinesLayer(new FinalDB());
            string        userName  = Session["Username"] as string;
            int           requestID = bl.AddRequest(new Request()
            {
                StudentUserName = userName,
                Type            = "סוג כלשהו",
                Cause           = requestViewModel.GetCauseName,
                Date            = DateTime.Now,
                FormType        = requestViewModel.FormType
            });

            if (requestID != -1)
            {
                // add each course to the specific request
                for (int i = 0; i < requestViewModel.SelectedCourses.Length; i++)
                {
                    int courseID = 0;
                    if (int.TryParse(requestViewModel.SelectedCourses[i], out courseID))
                    {
                        bl.AddCourseRequest(new CourseRequest
                        {
                            RequestID       = requestID,
                            StudentUserName = userName,
                            CourseID        = courseID,
                            LecturerName    = requestViewModel.LecturerName[i]
                        });
                    }
                }
            }
            return(Redirect("ShowRequests"));
        }
示例#6
0
        public ActionResult DeleteRequest(int requestID)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            bl.RemoveRequest(requestID);
            return(RedirectToAction("ShowNewRequests"));
        }
示例#7
0
        public ActionResult DeleteCharge(int chargeID)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            bl.RemoveCharge(chargeID);
            return(RedirectToAction("ShowNewCharges"));
        }
示例#8
0
        public ActionResult ShowSessions()
        {
            BussinesLayer        bl            = new BussinesLayer(new FinalDB());
            SessionListViewModel sessionListVM = new SessionListViewModel();
            string username = Session["Username"] as string;
            List <UserSessions>     sessionModelList = bl.GetSessionsByMemberID(username);
            List <SessionViewModel> sessionVM        = new List <SessionViewModel>();

            foreach (var s in sessionModelList)
            {
                sessionVM.Add(new SessionViewModel()
                {
                    ID = s.ID,
                    StudentUserName  = s.StudentUserName,
                    RefundID         = s.RefundID,
                    TeacherUserName  = s.TeacherUserName,
                    Date             = s.Date,
                    StartHour        = s.StartHour,
                    EndHour          = s.EndHour,
                    Details          = s.Details,
                    StudentSignature = s.StudentSignature,
                    CourseName       = s.CourseName
                });
            }
            //List<SessionViewModel> sessionVM = Services.ConverterService.ToSessionViewModel(sessionModelList);
            sessionListVM.List = sessionVM;
            return(View("ShowSessions", sessionListVM));
        }
        public async Task <IActionResult> Index()
        {
            int       startthread = Thread.CurrentThread.ManagedThreadId;
            Stopwatch w           = new Stopwatch();

            w.Start();
            ThreadTestingModel data  = new ThreadTestingModel();
            BussinesLayer      logic = new BussinesLayer();

            Task <string> t1 = Task.Factory.StartNew <string>(logic.getData1);
            Task <string> t2 = Task.Factory.StartNew <string>(logic.getData2);
            Task <string> t3 = Task.Factory.StartNew <string>(logic.getData3);
            Task <string> t4 = Task.Factory.StartNew <string>(logic.getData4);

            await Task.WhenAll(t1, t2, t3, t4);

            data.Thread1 = t1.Result;
            data.Thread2 = t2.Result;
            data.Thread3 = t3.Result;
            data.Thread4 = t4.Result;

            w.Stop();
            int endThread = Thread.CurrentThread.ManagedThreadId;

            ViewBag.start = startthread;
            ViewBag.end   = endThread;
            ViewBag.time  = w.ElapsedMilliseconds;
            return(View(data));
        }
示例#10
0
        public ActionResult ShowNewRequests()
        {
            BussinesLayer           bl = new BussinesLayer(new FinalDB());
            List <Request>          requestListModel = bl.GetNonConfirmedRequests();
            RequestListViewModel    requestListVM    = new RequestListViewModel();
            List <RequestViewModel> rvm = new List <RequestViewModel>();

            foreach (Request request in requestListModel)
            {
                List <CourseRequest>          courseReqestList   = bl.GetCourseRequestsByRequestID(request.ID);
                List <CourseRequestViewModel> courseReqestListVM = new List <CourseRequestViewModel>();
                foreach (CourseRequest cr in courseReqestList)
                {
                    courseReqestListVM.Add(new CourseRequestViewModel()
                    {
                        CourseID     = cr.CourseID,
                        LecturerName = cr.LecturerName
                    });
                }
                rvm.Add(new RequestViewModel()
                {
                    ID = request.ID,
                    StudentUserName = request.StudentUserName,
                    Type            = request.Type,
                    Cause           = request.Cause,
                    Date            = request.Date,
                    CourseRequests  = courseReqestListVM
                });
            }
            requestListVM.List = rvm;
            return(View("ShowNewRequests", requestListVM));
        }
示例#11
0
        //[Route("Admin/SomeName")]
        private ReportsViewModel GetReportByType(int type, DateTime?reportDate)
        {
            BussinesLayer    bl = new BussinesLayer(new FinalDB());
            ReportsViewModel reportsViewModel = new ReportsViewModel();

            if (type == (int)ReportType.Charge) // load charges report
            {
                List <ChargeReport>          charges   = bl.GetChargeRports(reportDate);
                List <ChargeReportViewModel> chargesVM = Services.ConverterService.ToChargeReportViewModel(charges);
                reportsViewModel.Type    = ReportType.Charge;
                reportsViewModel.Charges = chargesVM;
            }
            else if (type == (int)ReportType.Refund) // load refunds report
            {
                List <RefundReport>          refunds   = bl.GetRefundRports(reportDate);
                List <RefundReportViewModel> refundsVM = Services.ConverterService.ToRefundReportViewModel(refunds);
                reportsViewModel.Type    = ReportType.Refund;
                reportsViewModel.Refunds = refundsVM;
            }
            else if (type == (int)ReportType.User) // load users report
            {
                List <UserReport>           users   = bl.GetUsersRports(reportDate);
                List <UsersReportViewModel> usersVM = Services.ConverterService.ToUsersReportViewModel(users);
                reportsViewModel.Type  = ReportType.User;
                reportsViewModel.Users = usersVM;
            }
            return(reportsViewModel);
        }
示例#12
0
 public ActionResult UpdateCharge(ChargeViewModel chargeViewModel)
 {
     if (ModelState.IsValid)
     {
         // get existing charge
         BussinesLayer bl     = new BussinesLayer(new FinalDB());
         Charge        charge = bl.GetChargeByID(chargeViewModel.ID);
         charge.ManagerUserName  = Session["Username"] as string;
         charge.BudgetNumber     = chargeViewModel.BudgetNumber;
         charge.FundSource       = chargeViewModel.FundSource;
         charge.SignatureDate    = DateTime.Now;
         charge.ManagerSignature = chargeViewModel.ManagerSignature;
         // update charge
         bl.EditCharge(charge);
         // send message to student
         var memberController = DependencyResolver.Current.GetService <MemberController>();
         var sigTxt           = (chargeViewModel.ManagerSignature == true) ? "מאושרת" : "לא מאושרת";
         memberController.SendMessage(new Messages()
         {
             From    = Session["Username"] as string,
             ToUser  = charge.StudentUserName,
             Type    = MessageType.Charge,
             Subject = "Charge",
             Content = "סטטוס בקשה: " + sigTxt,
             Date    = DateTime.Now,
             IsSeen  = false
         });
         return(RedirectToAction("ShowNewCharges"));
     }
     else
     {
         this.SetErrorMsg("שדות לא תקינים");
         return(RedirectToAction("ShowNewCharges"));
     }
 }
        public ActionResult UpdateUserProfile(UserProfileViewModel userProfileVM)
        {
            FancyBox fb;

            if (ModelState.IsValid)
            {
                BussinesLayer bl = new BussinesLayer(new FinalDB());
                if (Session["Username"] as string != userProfileVM.UserName && bl.IsUserExist(userProfileVM.UserName))
                {
                    fb = new FancyBox()
                    {
                        Valid   = false,
                        Message = "שם המשתמש קיים כבר במערכת"
                    };
                    TempData["FancyBox"] = fb;
                    return(RedirectToAction("UserProfile"));
                }
                User userModel = new User()
                {
                    UserName = userProfileVM.UserName,
                    Password = userProfileVM.Password,
                    UserImg  = userProfileVM.UserImg,
                    IsActive = true,
                    Type     = (Types)Session["Role"]
                };
                bl.EditUser(userModel);

                Member memberModel = new Member()
                {
                    MemberUserName = userProfileVM.UserName,
                    Identity       = userProfileVM.Identity,
                    DepartmentID   = (userProfileVM.DepartmentID != null) ? userProfileVM.DepartmentID : 1,
                    Year           = (String.IsNullOrEmpty(userProfileVM.Year)) ? "Default" : userProfileVM.Year,
                    Gender         = userProfileVM.Gender,
                    FirstName      = userProfileVM.FirstName,
                    LastName       = userProfileVM.LastName,
                    Birth          = Convert.ToDateTime(userProfileVM.Birth),
                    Phone          = userProfileVM.Phone
                };
                bl.EditMember(memberModel);

                fb = new FancyBox()
                {
                    Valid   = false,
                    Message = "הפרופיל עודכן בהצלחה"
                };
                TempData["FancyBox"] = fb;
                return(RedirectToAction("UserProfile"));
            }
            else
            {
                fb = new FancyBox()
                {
                    Valid   = false,
                    Message = "שדות לא תקינים"
                };
                TempData["FancyBox"] = fb;
                return(RedirectToAction("UserProfile"));
            }
        }
示例#14
0
        public ActionResult ConfirmSession(int sessionID)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            bl.ConfirmSessionByID(sessionID);
            return(Redirect("ShowSessions"));
        }
        // GET: Member
        public string Index()
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            bl.InsertDummyData();

            return("success");
        }
        public JsonResult UpdateMessages(string ids)
        {
            BussinesLayer bl       = new BussinesLayer(new FinalDB());
            string        username = Session["Username"] as string;

            bl.UpdateMessagesToSeen(username, ids, DateTime.Now);
            return(Json(new { success = ids }, JsonRequestBehavior.DenyGet));
        }
        public bool SendMessage(Messages message)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            message.Date   = DateTime.Now;
            message.IsSeen = false;
            bl.AddMessage(message);
            return(false);
        }
示例#18
0
        public ActionResult ShowRefunds()
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());
            string        teacherUsername = Session["Username"] as string;
            List <Refund> refundListModel = bl.GetRefundsByMemberID(teacherUsername);


            return(View("ShowRefunds", new RefundListViewModel()));
        }
示例#19
0
        public ActionResult CreateNewSession(int?refundID)
        {
            BussinesLayer    bl        = new BussinesLayer(new FinalDB());
            Refund           refund    = bl.GetRefundByID((int)refundID);
            SessionViewModel sessionVM = new SessionViewModel();

            sessionVM.RefundID  = (int)refundID;
            sessionVM.IsGrouped = refund.IsGrouped;
            return(View("CreateNewSession", sessionVM));
        }
示例#20
0
        public ActionResult ShowMonthlyCharges()
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());
            MonthlyChargeListViewModel listVM = new MonthlyChargeListViewModel();
            var studentUsername          = Session["Username"] as string;
            List <MonthlyCharge> mcModel = bl.GetChargeByStudent(studentUsername, DateTime.Now);

            listVM.List = Services.ConverterService.ToMonthlyChargeViewModel(mcModel);
            return(View("ShowMonthlyCharges", listVM));
        }
示例#21
0
        public ActionResult EditUsers()
        {
            BussinesLayer               bl         = new BussinesLayer(new FinalDB());
            ReportsViewModel            reportsVM  = new ReportsViewModel();
            List <UserReport>           usersModel = bl.GetAllUsers();
            List <UsersReportViewModel> usesrVM    = Services.ConverterService.ToUsersReportViewModel(usersModel);

            reportsVM.Users = usesrVM;
            return(View("EditUsers", reportsVM));
        }
示例#22
0
        public ActionResult ShowNewCharges()
        {
            BussinesLayer          bl = new BussinesLayer(new FinalDB());
            ChargeListViewModel    chargeViewModelListVM = new ChargeListViewModel();
            List <Charge>          chargeListModel       = bl.GetNonConfirmedCharges();
            List <ChargeViewModel> cvm = Services.ConverterService.ToChargeViewModel(chargeListModel);

            chargeViewModelListVM.List = cvm;
            return(View("ShowNewCharges", chargeViewModelListVM));
        }
        public string test()
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            return(bl.AddUser(new User()
            {
                UserName = "******", Password = "******", LastLogin = DateTime.Now, Type = Types.Admin
            }) + "");
            //return "successe";
        }
示例#24
0
        public ActionResult CreateNewRefund()
        {
            BussinesLayer              bl               = new BussinesLayer(new FinalDB());
            RefundViewModel            refundVM         = new RefundViewModel();
            List <Department>          departmentsModel = bl.GetAllDepartments();
            List <DepartmentViewModel> departmentsVM    = Services.ConverterService.ToDepartmentsViewModel(departmentsModel);

            refundVM.DepartmentsCombo = departmentsVM;
            return(View("CreateNewRefund", refundVM));
        }
        public ActionResult SendMessages(MessagesViewModel messageVM)
        {
            BussinesLayer bl = new BussinesLayer(new FinalDB());

            messageVM.From = Session["Username"] as string;
            Messages messagesModel = Services.ConverterService.ToMessagesModel(messageVM);

            messagesModel.Type = MessageType.General;
            this.SendMessage(messagesModel);
            return(RedirectToAction("ShowAllMessages", new { type = (int)Utilities.MessageFilter.From }));
        }
示例#26
0
        public ActionResult ConfirmRequest(int requestID)
        {
            BussinesLayer bl      = new BussinesLayer(new FinalDB());
            Request       request = bl.GetRequestByID(requestID);

            request.ManagerSignature = true;
            request.SignatureDate    = DateTime.Now;
            request.ManagerUserName  = Session["Username"] as string;
            bl.EditRequest(request);
            return(RedirectToAction("ShowNewRequests"));
        }
示例#27
0
        public ActionResult ConfirmCharge(int chargeID)
        {
            BussinesLayer bl     = new BussinesLayer(new FinalDB());
            Charge        charge = bl.GetChargeByID(chargeID);

            charge.ManagerSignature = true;
            charge.SignatureDate    = DateTime.Now;
            charge.ManagerUserName  = Session["Username"] as string;
            bl.EditCharge(charge);
            return(RedirectToAction("ShowNewCharges"));
        }
        public JsonResult SerachMessages(string query)
        {
            BussinesLayer   bl       = new BussinesLayer(new FinalDB());
            string          usernmae = Session["Username"] as string;
            List <Messages> messages = bl.GetMessagesByAjax(usernmae, query);

            if (messages.Count() > 0)
            {
                return(Json(messages, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }
示例#29
0
        public JsonResult GetCoursesByDepartmentID(int?id)
        {
            Debug.WriteLine((int)id);
            BussinesLayer          bl               = new BussinesLayer(new FinalDB());
            List <Course>          courses          = bl.GetCoursesByDepartmentID((int)id);
            List <CourseViewModel> coursesViewModel = Services.ConverterService.ToCoursesViewModel(courses);

            if (coursesViewModel.Count() > 0)
            {
                return(Json(coursesViewModel, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }
示例#30
0
 public Form_Pagar_Tarjeta(BussinesLayer bl, string Bill_Type, string Payment_Type, decimal Subtotal, decimal Subtotal_Discount, decimal Total_Taxes, decimal Total, int ID_Client, int ID_Discount)
 {
     this.bl                = bl;
     this.Bill_Type         = Bill_Type;
     this.Payment_Type      = Payment_Type;
     this.Subtotal          = Subtotal;
     this.Subtotal_Discount = Subtotal_Discount;
     this.Total_Taxes       = Total_Taxes;
     this.Total             = Total;
     this.ID_Client         = ID_Client;
     this.ID_Discount       = ID_Discount;
     InitializeComponent();
 }