Inheritance: System.Web.UI.MasterPage
        public void TestBuildBasicService()
        {
            #region Service and Worker Team
            var TestTeamLeader = new TeamLeader(TestLeaderSalary);
            var TestWorker1    = new Worker(TestWorkerSalary);
            #endregion

            #region
            ServiceBase TestBasicService = TestService.BuildService("Basic") as ServiceBase;

            TestTeamLeader.AddWorker(TestWorker1);

            TestBasicService.Team = TestTeamLeader;
            #endregion

            #region Asserts: Control vars
            var TestPoison     = TestBasicService.Poison;
            var TestAnimal     = TestBasicService.Animal;
            var TestSimpleMask = TestBasicService.Assets.Where(x => x.GetType() == typeof(SimpleMask)).Single();
            var TestFinalPrice = TestTeamLeader.Price + TestPoison.Price + TestSimpleMask.Price;
            #endregion

            #region Asserts
            Assert.AreEqual(typeof(Rat), TestAnimal.GetType(), "Different Animal types!");
            Assert.AreEqual(typeof(Arsenic), TestPoison.GetType(), "Different Poison types!");
            Assert.AreEqual(TestPoison, TestBasicService.Assets.Where(x => x.Equals(TestBasicService.Poison)).SingleOrDefault(), "Different Poison instances!");
            Assert.AreEqual(typeof(SimpleMask), TestSimpleMask.GetType(), "No SimpleMask found!");

            Assert.AreEqual(20, TestSimpleMask.Price, "Different SimpleMask prices!");
            Assert.AreEqual(2, TestPoison.Price, "Different Poison prices!");

            Assert.AreEqual(TestFinalPrice, TestBasicService.Price, "Service price is different!");
            #endregion
        }
        static void Main(string[] args)
        {
            Request r1 = new Request();
            Manager m1 = new TeamLeader("章邯");
            Manager m2 = new Director("王翦");
            Manager m3 = new Boss("嬴政");

            m1.SetSuperior(m2);
            m2.SetSuperior(m3);

            r1.Type        = QuestionType.Leave;
            r1.Description = "小菜请事假";
            r1.Num         = 1;
            m1.HandleRequest(r1);

            r1.Type        = QuestionType.Leave;
            r1.Description = "小菜请事假";
            r1.Num         = 3;
            m1.HandleRequest(r1);

            r1.Type        = QuestionType.Salary;
            r1.Description = "小菜请调薪";
            r1.Num         = 1500;
            m1.HandleRequest(r1);

            Console.ReadLine();
        }
示例#3
0
        /// <summary>   Authenticates the team leader. </summary>
        ///
        /// <remarks>   This method authenticates users only if they are team leaders. </remarks>
        ///
        /// <exception cref="Exception">    Thrown when an exception error condition occurs. </exception>
        ///
        /// <param name="username"> The username. </param>
        /// <param name="password"> The password. </param>
        ///
        /// <returns>   A TeamLeader. </returns>

        public TeamLeader Authenticate(string username, string password)
        {
            string        sql;
            SqlConnection cn;
            SqlCommand    cmd;
            SqlDataReader dr;
            TeamLeader    teamLeader = null;

            sql = "SELECT DISTINCT Person.Name, UserId, TeamId FROM Person INNER JOIN Team ON (Team.TeamLeaderId = Person.UserId) " +
                  "WHERE  Username= @usr AND Password= @pass";
            cn  = new SqlConnection(Properties.Settings.Default.ConnectionString);
            cmd = new SqlCommand(sql, cn);
            cmd.Parameters.Add("@usr", SqlDbType.VarChar).Value  = username;
            cmd.Parameters.Add("@pass", SqlDbType.VarChar).Value = password;
            try
            {
                cn.Open();
                dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
                if (dr.Read())
                {
                    teamLeader = new TeamLeader(dr["Name"].ToString(), (int)dr["UserId"], (int)dr["TeamId"]);
                }
                dr.Close();
            }
            catch (SqlException ex)
            {
                throw new Exception("Error Accessing Database", ex);
            }
            finally
            {
                cn.Close();
            }
            return(teamLeader);
        }
示例#4
0
        private static void CreateTeamLeader()
        {
            TeamLeader employee = new TeamLeader(GetEmployeeName(), GetEmployeeNumber(), GetShift(), GetPayRate(), GetHours());
            string     check    = " ";
            string     shift    = " ";

            check = CheckEmployeeHours(employee.AttendedHours, employee.RequiredTrainingHours);

            //Depending on the number entered for shift, determines Day or Night shift.
            switch (employee.ShiftNumber)
            {
            case 1:
                shift = "Day Shift";
                break;

            case 2:
                shift = "Night Shift";
                break;
            }
            //Displays Employee information
            Console.Write($"\nEmployee name: {employee.Name}\nEmployee#: {employee.Number}\nShift: {shift}\nPay Rate: {employee.PayRate.ToString("C2")}\n{check}\nTraining Hours Remaining: " +
                          $"{employee.RequiredTrainingHours-employee.AttendedHours}");



            if (!check.Contains("not"))
            {
                Console.WriteLine($"\nBonus Earned: {employee.MonthlyBonus.ToString("C2")}");
            }
            Console.ReadLine();
        }
 public void TeamLeaderTestInit()
 {
     this.TestLeader  = new TeamLeader(TestLeaderSalary);
     this.TestWorker1 = new Worker(this.TestWorkerSalary);
     this.TestWorker2 = new Worker(this.TestWorkerSalary);
     this.TestWorker3 = new Worker(this.TestWorkerSalary);
 }
示例#6
0
        /// <summary>
        /// Remove a member from the team.
        /// </summary>
        /// <param name="member">Member to remove.</param>
        /// <returns>
        ///     True if the team member has been removed, false
        ///     if it didn't exist in the team.
        /// </returns>
        public bool RemoveMember(Character member)
        {
            bool removed = false;

            if (member == null)
            {
                return(false);
            }

            if (member is Hero && TeamLeader != null && TeamLeader.Equals((Hero)member))
            {   // This is the team leader.
                removed    = true;
                TeamLeader = null;
            }
            else
            {   // It's (probably) a normal member.
                removed = _teamMembers.Remove(member);
            }

            if (removed)
            {
                member.Team = null;

                if (!member.IsDead())
                {   // This member does not count towards the alive members in
                    // this team anymore. If he is dead, MembersAlive was decremented
                    // already.
                    MembersAlive--;
                }
            }

            return(removed);
        }
示例#7
0
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers
                                .FirstOrDefault(f => f.IsTeam == true);
            DateTime stw = DateTime.Now;
            DateTime fw  = stw;

            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerId()];
                if ((fw - stw).TotalDays > 20)
                {
                    leader.GetReport(ListWork);
                    fw = stw;
                }
                else
                {
                    IPart p = GetWork();
                    if (p != null)
                    {
                        int workOut = rnd.Next(1, 30);
                        ListWork[p.WorkId].DateStart  = fw;
                        ListWork[p.WorkId].DateFinish =
                            ListWork[p.WorkId].DateStart
                            .AddDays(workOut);

                        fw = fw.AddDays(workOut);

                        ListWork[p.WorkId].Worker = w;
                        Console.WriteLine("done");
                    }
                }
            }
        }
        public ActionResult registforPG()
        {
            TeamLeader          tm   = new TeamLeader();
            var                 pf   = db.Professors.ToList();
            TeamLeaderViewModel tlvm = new TeamLeaderViewModel()
            {
                TeamLeaders = tm,
                Professosrs = pf
            };
            //var pg = db.PGs.ToList();
            //PhotographerClient pc = new PhotographerClient
            //{
            //    photographers= pg
            //};

            var mm = (from userlist in db.TeamLeaders
                      select new
            {
                userlist.Email,
                userlist.id,
                userlist.User_Name,
                userlist.Department
            }).ToList();


            var        get  = db.Professors.ToList().Where(c => c.Department == mm.FirstOrDefault().Department);
            SelectList list = new SelectList(get, "id", "User_Name");

            ViewBag.pg = list;

            return(View(tlvm));
        }
        public async Task CreateTeamLeader(CreateDto createTeamLeaderDto)
        {
            var teamLeader = new TeamLeader()
            {
                FirstName      = createTeamLeaderDto.FirstName,
                LastName       = createTeamLeaderDto.LastName,
                UserName       = createTeamLeaderDto.UserName,
                Email          = createTeamLeaderDto.UserName,
                PhoneNumber    = createTeamLeaderDto.PhoneNumber,
                EmailConfirmed = true
            };

            var result = await userManager.CreateAsync(teamLeader, createTeamLeaderDto.Password);

            if (result.Succeeded)
            {
                db.UserRoles.Add(new IdentityUserRole <string>()
                {
                    UserId = teamLeader.Id,
                    RoleId = "2"
                });
                db.SaveChanges();
            }
            else
            {
            }
        }
        public void RemoveTeamLeader(TeamLeader RemoveLeader)
        {
            var teamLeader = db.TeamLeaders.Where(x => x.Id == RemoveLeader.Id).SingleOrDefault();

            db.TeamLeaders.Remove(teamLeader);
            db.SaveChanges();
        }
        /// <summary>   Authenticates the team leader. </summary>
        ///
        /// <remarks>   This method authenticates users only if they are team leaders. </remarks>
        ///
        /// <exception cref="Exception">    Thrown when an exception error condition occurs. </exception>
        ///
        /// <param name="username"> The username. </param>
        /// <param name="password"> The password. </param>
        ///
        /// <returns>   A TeamLeader. </returns>

        public TeamLeader Authenticate(string username, string password)
        {
            string        sql;
            SqlConnection cn;
            string        ConnectionString = @"Data Source = Rosh - PC; Initial Catalog = wm75; Integrated Security = True";
            SqlCommand    cmd;
            SqlDataReader dr;
            TeamLeader    teamLeader = null;

            sql = String.Format("SELECT DISTINCT Person.Name, UserId, TeamId FROM Person " +
                                "INNER JOIN Team ON (Team.TeamLeaderId = Person.UserId) " +
                                "WHERE  Username='******' AND Password='******'", username, password);
            cn  = new SqlConnection(ConnectionString);
            cmd = new SqlCommand(sql, cn);
            try
            {
                cn.Open();
                dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
                if (dr.Read())
                {
                    teamLeader = new TeamLeader(dr["Name"].ToString(), (int)dr["UserId"], (int)dr["TeamId"]);
                }
                dr.Close();
            }
            catch (SqlException ex)
            {
                throw new Exception("Error Accessing Database", ex);
            }
            finally
            {
                cn.Close();
            }
            return(teamLeader);
        }
示例#12
0
        public TeamLeader Authenticate(string username, string password)
        {
            string        sql;
            SqlConnection cn;
            SqlCommand    cmd;
            SqlDataReader dr;
            TeamLeader    leader = null;

            sql = String.Format("SELECT DISTINCT Person.Name, UserId, TeamId FROM Person INNER JOIN Team ON(Team.TeamLeaderId = Person.UserId) WHERE Username = '******' AND Password = '******'", username, password);
            cn  = new SqlConnection(Properties.Settings.Default.OutOfBoundsConnectionString);
            cmd = new SqlCommand(sql, cn);
            try
            {
                cn.Open();
                dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
                if (dr.Read())
                {
                    leader = new TeamLeader(dr["Name"].ToString(), (int)dr["TeamId"], (int)dr["TeamId"]);
                }
                dr.Close();
            }
            catch (SqlException ex)
            {
                throw new Exception("Error Accessing Database", ex);
            }
            finally
            {
                cn.Close();
            }
            return(leader);
        }
示例#13
0
        public ActionResult Delete(Table_Request tr)
        {
            try
            {
                // TODO: Add delete logic here
                tr = db.Table_Request.Find(tr.request_id);
                db.Table_Request.Remove(tr);
                db.SaveChanges();

                TeamLeader tl      = new TeamLeader();
                var        details = (from userlist in db.Table_Request
                                      where userlist.id_TeamLeader == tl.id && userlist.id_professor == tl.id_professor
                                      select new
                {
                    userlist.status
                }).ToList();

                var sta = details.FirstOrDefault().status;


                return(RedirectToAction("WelcomeProfessor", "Login"));
            }
            catch
            {
                return(View("WelcomeProfessor", "Login"));
            }
        }
示例#14
0
        public async Task UpdateTeamLeader(UserDto TeamLeaderDto)
        {
            var TeamLeader = new TeamLeader();

            var OldTeamLeader = await userManager.FindByIdAsync(TeamLeaderDto.Id);

            OldTeamLeader.PasswordHash = passwordHasher.HashPassword(TeamLeader, TeamLeaderDto.Password);
            OldTeamLeader.Email        = TeamLeaderDto.Email;
            OldTeamLeader.UserName     = TeamLeaderDto.UserName;
            var Reselt = await userManager.UpdateAsync(OldTeamLeader);



            if (Reselt.Succeeded)
            {
                var OldTLeader = db.TeamLeaders.Where(x => x.Id == TeamLeaderDto.Id).SingleOrDefault();
                OldTLeader.FirstName = TeamLeaderDto.FirstName;
                OldTLeader.LastName  = TeamLeaderDto.LastName;
                db.TeamLeaders.Update(OldTLeader);
                db.SaveChanges();
            }
            else
            {
                throw new Exception();//ModelState not Valid ==>return View("EditTeamLeader")
            }
        }
示例#15
0
        public async Task InsertTeamLeader(UserDto TeamLeaderDto)
        {
            var TeamLeader = new TeamLeader()
            {
                FirstName      = TeamLeaderDto.FirstName,
                LastName       = TeamLeaderDto.LastName,
                Email          = TeamLeaderDto.Email,
                UserName       = TeamLeaderDto.UserName,
                EmailConfirmed = true
            };
            var Reselt = await userManager.CreateAsync(TeamLeader, TeamLeaderDto.Password);

            if (Reselt.Succeeded)
            {
                db.SaveChanges();
                db.UserRoles.Add(new IdentityUserRole <string>()
                {
                    UserId = TeamLeader.Id,
                    RoleId = "3"
                });
                db.SaveChanges();
            }
            else
            {
                throw new Exception(); //ModelState not Valid ==>return View("CreatTeamLeader")
            }
        }
        public void AddWorkerTest()
        {
            #region Extra worker and another team leader
            var TeamLeader2 = new TeamLeader(this.TestLeaderSalary);
            var Worker4     = new Worker(this.TestWorkerSalary);
            #endregion

            try
            {
                this.TestLeader.AddWorker(TeamLeader2);
                Assert.Fail("AddWorker() was supposed to fail!");
            }
            catch (ArgumentException argex)
            {
                Assert.AreEqual("A Team Leader can't command another Team Leader.", argex.Message, "Unexpected exception message on AddWorker(): " + argex.Message);
            }
            catch (Exception ex)
            {
                Assert.Fail("Unexpected exception on AddWorker(): " + ex.Message);
            }

            this.TestLeader.AddWorker(this.TestWorker1);
            this.TestLeader.AddWorker(this.TestWorker2);
            this.TestLeader.AddWorker(this.TestWorker3);

            try
            {
                this.TestLeader.AddWorker(Worker4);
                Assert.Fail("AddWorker() was supposed to fail!");
            }
            catch (Exception ex)
            {
                Assert.AreEqual("A Team Leader can't hold more than 3 workers at a time.", ex.Message, "Unexpected exception message on AddWorker(): " + ex.Message);
            }
        }
示例#17
0
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers.FirstOrDefault(f => f.IsTeam == true);

            DateTime stw = DateTime.Now;
            DateTime fw  = stw;

            ListWork = ListWork.OrderBy(o => o.Sort).ToList();
            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerId()];
                //  leader.GetReport(ListWork);
                if ((fw - stw).TotalDays > 0)
                {
                    leader.GetReport(ListWork);
                }
                else
                {
                    IPart p = GetWork();
                    if (p != null)
                    {
                        int workOut = rnd.Next(1, 15);
                        ListWork[p.WorkId].DateStart  = fw;
                        ListWork[p.WorkId].DateEnd    = ListWork[p.WorkId].DateStart.AddDays(rnd.Next(1, 30));
                        ListWork[p.WorkId].WorkerGets = w;
                        fw = fw.AddDays(workOut);
                    }
                }
            }
        }
示例#18
0
        static void Main(string[] args)
        {
            House      house  = new House();
            TeamLeader leader = new TeamLeader();

            house.Show();
        }
示例#19
0
        /// <summary>
        /// 下面以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在1万之
        /// 内,经理级别的人批准即可,总价大于1万小于2万5的则还需要副总进行批准,总
        /// 价大于2万5小于10万的需要还需要总经理批准,而大于总价大于10万的则需要组
        /// 织一个会议进行讨论。对于这样一个需求,最直观的方法就是设计一个方法,参数
        /// 是采购的总价,然后在这个方法内对价格进行调整判断,然后针对不同的条件交
        /// 给不同级别的人去处理,这样确实可以解决问题,但这样一来,我们就需要多重
        /// if-else语句来进行判断,但当加入一个新的条件范围时,我们又不得不去修改原
        /// 来设计的方法来再添加一个条件判断,这样的设计显然违背了“开-闭”原则。
        /// 这时候,可以采用责任链模式来解决这样的问题
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //实例化采购的请求
            PurchaseRequest approveOfTeamLeader     = new PurchaseRequest(4000.00, "Telphone");
            PurchaseRequest approveOfVicePresident  = new PurchaseRequest(10000.00, "Camera");
            PurchaseRequest approveOfPresident      = new PurchaseRequest(40000.00, "Second-hand car");
            PurchaseRequest approveOfBoardDirectors = new PurchaseRequest(400000.00, "Second-hand car");
            //实例化参与审批的管理者
            Approver teamLeader    = new TeamLeader("LearningHard");
            Approver vicePresident = new VicePresident("Tony");
            Approver president     = new President("BossTom");

            //设置责任链 管理者的层次排序
            teamLeader.NextApprover    = vicePresident;
            vicePresident.NextApprover = president;

            //处理请求
            Console.WriteLine("小组长能审批的:");
            teamLeader.ProcessRequest(approveOfTeamLeader);
            Console.WriteLine("副总经理能审批的:");
            teamLeader.ProcessRequest(approveOfVicePresident);
            Console.WriteLine("总经理能审批的:");
            teamLeader.ProcessRequest(approveOfPresident);
            Console.WriteLine("董事会开会能审批的:");
            teamLeader.ProcessRequest(approveOfBoardDirectors);
            Console.Read();
        }
示例#20
0
文件: Program.cs 项目: Sadiev/CSC-253
 static void Main(string[] args)
 {
     //ProductionWorker.NewProductionWorker();
     //ShiftSupervisor.NewShiftSupervisor();
     TeamLeader.NewTeamLeader();
     Console.WriteLine("\nPress any key to exit ...");
     Console.ReadLine();
 }
示例#21
0
        static void Main(string[] args)
        {
            Console.WriteLine("Composite Pattern!");

            Project project = new Project("CompositeProject");

            ITask task = new Task(project);
            ITask bug  = new Bug(project);
            ITask ValidateIntegeration = new Task(project);

            Developer teamMemberA = new Developer("Omid", task);
            Developer teamMemberB = new Developer("Alex", bug);


            TeamLeader reff =
                new TeamLeader(
                    "Antoin",
                    new List <IWorkForce> {
                teamMemberA, teamMemberB
            },
                    ValidateIntegeration);

            Console.WriteLine($"\ndeveloper validate it's current task {nameof(task)}");
            teamMemberA.Validate();
            Console.WriteLine(teamMemberA.CurrentTask.TaskStatus.ToString());

            Console.WriteLine($"\ndeveloper validate it's current task {nameof(bug)}");
            teamMemberB.Validate();
            Console.WriteLine(teamMemberB.CurrentTask.TaskStatus.ToString());

            Console.WriteLine($"\ndeveloper try to abandon the a task {nameof(bug)}");
            try
            {
                teamMemberA.Abandon(teamMemberB.CurrentTask);
                Console.WriteLine(teamMemberB.CurrentTask.TaskStatus.ToString());
            }
            catch
            {
                Console.WriteLine($"developer has no rights to abandon others tasks. \nthe task keep state {teamMemberB.CurrentTask.TaskStatus.ToString()}");
            }


            Console.WriteLine($"\ndeveloper validate other developer current task {nameof(bug)}");
            teamMemberA.Validate(teamMemberB.CurrentTask);
            Console.WriteLine(teamMemberB.CurrentTask.TaskStatus.ToString());

            Console.WriteLine($"The technical reference abandon the developer task {nameof(bug)}");
            reff.Abandon(bug);
            Console.WriteLine(teamMemberB.CurrentTask.TaskStatus.ToString());

            Developer teamMemberC = new Developer("Alex", bug);

            reff.Terminate(bug);
            Console.WriteLine(teamMemberB.CurrentTask.TaskStatus.ToString());

            Console.ReadKey();
        }
示例#22
0
        static void Main(string[] args)
        {
            int    check_etap = 0;
            String dom        =
                @"
             _    ~ ~ ~
            / \  ||
           /   \ ||
          /     \||
         /       \|
        /         \
       /           \
      /             \
    _/_______________\_
    |                 |
    |    _ _          |
    |   |_|_|     __  |
    |   |_|_|    |  | |
    |            |  | |
    |            |  | |
    |____________|__|_|
------------------------------
";
            bool b1 = false, b2 = false, b3 = false, b4 = false;
            Team team = new Team {
                name = "The best Builder"
            };
            TeamLeader teamLeader = new TeamLeader {
                name = "Volodya", Exparience = 30
            };

            b1 = team.worker[0].Build_Basement();
            check_etap++;
            if (Check(b1) == true)
            {
                b2 = team.worker[1].Build_Walls();
                check_etap++;
            }
            teamLeader.Check_work(check_etap);

            if (Check(b2) == true)
            {
                b3 = team.worker[2].Build_Window();
                check_etap++;
            }

            b4 = team.worker[3].Build_Door();
            check_etap++;
            if (Check(b3 == true) && Check(b4 == true))
            {
                team.worker[4].Build_Roof();
                check_etap++;
                Console.WriteLine($"\n\n\n\n\nBuild House end {dom}");
            }
            Console.ReadKey();
        }
        public ReportingSection()
        {
            _teamLeader    = new TeamLeader();
            _projectLeader = new ProjectLeader();
            _hr            = new HR();

            _teamLeader.SetNextSupervisor(_projectLeader);
            _projectLeader.SetNextSupervisor(_hr);
            _hr.SetNextSupervisor(null);
        }
示例#24
0
文件: Program.cs 项目: Artt16/CSharp
        static void Main(string[] args)
        {
            var project = new HouseProject()
            {
                BasementNeeded = true, WallCount = 4, DoorNeeded = true, RoofNeeded = true, WindowCount = 4
            };
            House      house      = new House(project);
            TeamLeader teamleader = new TeamLeader();
            var        team       = new Team();

            teamleader.Build(team, house);
        }
示例#25
0
        private static IApprover CreateChain()
        {
            IApprover handler   = new RequestHandler();
            IApprover approver1 = new TeamLeader();
            IApprover approver2 = new ProjectManager();
            IApprover approver3 = new ResourceManager();

            handler.NextApprover   = approver1;
            approver1.NextApprover = approver2;
            approver2.NextApprover = approver3;
            return(handler);
        }
        public void TestBuildDeluxeService()
        {
            #region Service and Worker Team
            var TestTeamLeader = new TeamLeader(TestLeaderSalary);
            var TestWorker1    = new Worker(TestWorkerSalary);
            var TestWorker2    = new Worker(TestWorkerSalary);
            var TestWorker3    = new Worker(TestWorkerSalary);
            #endregion

            #region
            ServiceBase TestDeluxeService = TestService.BuildService("Deluxe") as ServiceBase;

            TestTeamLeader.AddWorker(TestWorker1);
            TestTeamLeader.AddWorker(TestWorker2);
            TestTeamLeader.AddWorker(TestWorker3);

            TestDeluxeService.Team = TestTeamLeader;
            #endregion

            #region Asserts: Control vars
            var TestPoison           = TestDeluxeService.Poison;
            var TestAnimal           = TestDeluxeService.Animal;
            var TestProtectionSuites = TestDeluxeService.Assets.Where(x => x.GetType() == typeof(ProtectionSuite)).ToList();
            var TestIsolatedMasks    = TestDeluxeService.Assets.Where(x => x.GetType() == typeof(IsolatedMask)).ToList();
            var TestPoisonDiffusers  = TestDeluxeService.Assets.Where(x => x.GetType() == typeof(PoisonDiffuser)).ToList();
            var TestBleach           = TestDeluxeService.Assets.Where(x => x.GetType() == typeof(Bleach)).Single();
            var TestFinalPrice       = TestTeamLeader.Price + TestPoison.Price + TestProtectionSuites.Sum(x => x.Price) + TestIsolatedMasks.Sum(x => x.Price)
                                       + TestPoisonDiffusers.Sum(x => x.Price) + TestBleach.Price;
            #endregion

            #region Asserts
            Assert.AreEqual(typeof(Flea), TestAnimal.GetType(), "Different Animal types!");
            Assert.AreEqual(typeof(Cyanide), TestPoison.GetType(), "Different Poison types!");
            Assert.AreEqual(TestPoison, TestDeluxeService.Assets.Where(x => x.Equals(TestDeluxeService.Poison)).SingleOrDefault(), "Different Poison instances!");
            Assert.AreEqual(3, TestProtectionSuites.Count(), "Not enough ProtectionSuites found!");
            Assert.AreEqual(3, TestIsolatedMasks.Count(), "Not enough IsolatedMasks found!");
            Assert.AreEqual(3, TestPoisonDiffusers.Count(), "Not enough PoisonDiffusers found!");

            Assert.AreEqual(1000, TestProtectionSuites[0].Price, "Different ProtectionSuite prices!");
            Assert.AreEqual(1000, TestProtectionSuites[1].Price, "Different ProtectionSuite prices!");
            Assert.AreEqual(1000, TestProtectionSuites[2].Price, "Different ProtectionSuite prices!");
            Assert.AreEqual(80, TestIsolatedMasks[0].Price, "Different IsolatedMask prices!");
            Assert.AreEqual(80, TestIsolatedMasks[1].Price, "Different IsolatedMask prices!");
            Assert.AreEqual(80, TestIsolatedMasks[2].Price, "Different IsolatedMask prices!");
            Assert.AreEqual(70, TestPoisonDiffusers[1].Price, "Different PoisonDiffuser prices!");
            Assert.AreEqual(70, TestPoisonDiffusers[1].Price, "Different PoisonDiffuser prices!");
            Assert.AreEqual(70, TestPoisonDiffusers[2].Price, "Different PoisonDiffuser prices!");
            Assert.AreEqual(1000, TestBleach.Price, "Different Bleach prices!");
            Assert.AreEqual(375, TestPoison.Price, "Different Poison prices!");

            Assert.AreEqual(TestFinalPrice, TestDeluxeService.Price, "Service price is different!");
            #endregion
        }
示例#27
0
        public CYCA_CenterManagerRightViewModel GetTeamLeadersAndChildren()
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            var facilityID = employee.GetFacilityIdByUserID(userId);
            CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();

            returnModel.TeamLeaders = new List <TeamLeader>();
            //CYCA-Team Leader
            //Team Leader Role

            var    loggedInEmployee = employee.GetLoggedInEmployee(userId);
            string teamLeader       = ConfigurationManager.AppSettings["TeamLeaderRole"];
            string facilityManager  = ConfigurationManager.AppSettings["CenterManagerRole"];
            string careWorker       = ConfigurationManager.AppSettings["CareWorkerRole"];

            var teamleads = teamLeaders.GetTeamleaders(facilityID, userId, teamLeader, facilityManager);
            List <TeamLeader> leaderList = new List <TeamLeader>();

            foreach (User u in teamleads)
            {
                var worker = new TeamLeader();
                worker.FacilityId = facilityID;
                worker.Name       = u.First_Name + " " + u.Last_Name;
                worker.Desciption = "Care Worker";
                worker.Summary    = "Summary";
                worker.UserId     = u.User_Id;
                var res = db.apl_User_Image.Where(ur => ur.User_Id == u.User_Id).Select(us => us.Image_Content).SingleOrDefault();
                if (res.Length > 0)
                {
                    worker.img = Convert.ToBase64String(res);
                }

                leaderList.Add(worker);
            }

            returnModel.TeamLeaders.AddRange(leaderList);

            foreach (TeamLeader t in returnModel.TeamLeaders)
            {
                t.children = new List <CYCAChildAllocationViewModel>();
                t.children.AddRange(children.getTeamLeaderChildren(t.UserId, facilityID));
                //Get all kids below this too
                t.children.AddRange(children.getSupervisorChildren(t.UserId));
            }
            return(returnModel);
        }
示例#28
0
        public CYCA_CenterManagerRightViewModel GetCenterManagerRightViewUpdated()
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            var    facilityID      = employee.GetFacilityIdByUserID(userId);
            string teamLeader      = ConfigurationManager.AppSettings["TeamLeaderRole"];
            string facilityManager = ConfigurationManager.AppSettings["CenterManagerRole"];
            string careWorker      = ConfigurationManager.AppSettings["CareWorkerRole"];

            CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();

            returnModel.TeamLeaders = new List <TeamLeader>();

            var levelOne = teamLeaders.GetLevelOneUsers(facilityID, teamLeader, facilityManager, careWorker);

            foreach (TeamLeaderModelView tl in levelOne)
            {
                List <CYCAChildAllocationViewModel> allChildren = new List <CYCAChildAllocationViewModel>();
                //Get All Kids
                allChildren.AddRange(children.getTeamLeaderChildren(tl.UserId, facilityID));
                var levelTwo = teamLeaders.GetLevelTwoUsers(facilityID, teamLeader, facilityManager, careWorker, tl.UserId);
                foreach (TeamLeaderModelView tll in levelTwo)
                {
                    allChildren.AddRange(children.getTeamLeaderChildren(tll.UserId, facilityID));
                }
                var levelOneLeader = new TeamLeader()
                {
                    FacilityId = facilityID,
                    Name       = tl.Name,
                    Desciption = String.Join(" ", tl.Roles.Where(r => r.Description.Contains("CYCA")).Select(r => r.Description).ToArray()).Replace("CYCA-", ""),
                    Summary    = "",
                    UserId     = tl.UserId,

                    children = new List <CYCAChildAllocationViewModel>()
                };
                var res = db.apl_User_Image.Where(ur => ur.User_Id == tl.UserId).Select(us => us.Image_Content).SingleOrDefault();
                if (res.Length > 0)
                {
                    levelOneLeader.img = Convert.ToBase64String(res);
                }
                levelOneLeader.children.AddRange(allChildren);
                returnModel.TeamLeaders.Add(levelOneLeader);
            }

            return(returnModel);
        }
示例#29
0
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow & (e.Row.RowState == DataControlRowState.Normal | e.Row.RowState == DataControlRowState.Alternate))
            {
                string AuditStatus = ((DataRowView)e.Row.DataItem).Row.ItemArray[7].ToString();

                Button buttonaudit   = e.Row.FindControl("ButtonAudit") as Button;
                Button buttonback    = e.Row.FindControl("ButtonBack") as Button;
                Button buttonuncheck = e.Row.FindControl("ButtonUncheck") as Button;


                Label  LabelApplicant           = e.Row.FindControl("LabelApplicant") as Label;
                string applicant                = DataBinder.Eval(e.Row.DataItem, "Applicant").ToString();
                DtCms.BLL.TeamLeader teamleader = new TeamLeader();
                LabelApplicant.Text = teamleader.GetAppName(applicant);


                if (AuditStatus == "未审核")
                {
                    e.Row.BackColor     = System.Drawing.Color.Beige;
                    buttonaudit.Enabled = true;
                }
                if (AuditStatus == "再次提交")
                {
                    e.Row.BackColor     = System.Drawing.Color.Beige;
                    buttonaudit.Enabled = true;
                }
                if (AuditStatus == "审核通过")
                {
                    buttonaudit.Enabled   = false;
                    buttonback.Enabled    = false;
                    buttonuncheck.Enabled = false;
                }
                else if (AuditStatus == "退回修改")
                {
                    e.Row.BackColor = System.Drawing.Color.AliceBlue;

                    buttonaudit.Enabled   = false;
                    buttonback.Enabled    = false;
                    buttonuncheck.Enabled = false;
                }

                else if (AuditStatus == "不批准")
                {
                    buttonaudit.Enabled   = false;
                    buttonback.Enabled    = false;
                    buttonuncheck.Enabled = false;
                }
            }
        }
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers.FirstOrDefault(f => f.IsTeam == true);

            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerID()];
                IPart  p = GetWork();
                if (p != null)
                {
                    ListWork.IndexOf(p);
                }
            }
        }
示例#31
0
 public GroupState(TeamLeader parAgent)
 {
     teamLeader = parAgent;
 }
示例#32
0
 public SearchState(TeamLeader parAgent)
 {
     teamLeader = parAgent;
 }
示例#33
0
 public IdleState(TeamLeader parAgent)
 {
     teamLeader = parAgent;
 }
示例#34
0
 public PatrolState(TeamLeader parAgent)
 {
     teamLeader = parAgent;
 }