Пример #1
0
 public void TraceTest(TraceWorker trace, string text)
 {
     trace.TraceTest();
     trace.TextToTrace(text);
 }
Пример #2
0
        public void TestGame()
        {
            XmlConfig   xml   = new XmlConfig();
            Sea         sea   = new Sea(xml.UseConfigFile("width"), xml.UseConfigFile("height"));
            TraceWorker trace = new TraceWorker();

            sea.CreatureList.Add(p1);
            sea.CreatureList.Add(e1);

            Console.WriteLine("places creatures...");
            //sea.CreatureList[0].Xposition = sea.Width / 2;
            //sea.CreatureList[0].Yposition = 5;

            //sea.CreatureList[1].Xposition = sea.Width / 2;
            //sea.CreatureList[1].Yposition = sea.Height;
            sea.PlaceCreatures();

            Carpenters_Tools c2Tools = new Carpenters_Tools(2, "Carpenters Tools", "heals ");

            Cannon c1 = new Cannon(1, "Cannon", "A one-use special shot", 20, 2);

            sea.ItemList.Add(c1);
            sea.PlaceItems();

            ShipStateMachine sm = new ShipStateMachine();

            while (true)
            {
                sea.PrintShips(10);
                sea.PrintItems();

                Console.WriteLine("Choose your next action: shoot, use item, pickup item, check inventory, move");
                string action = Console.ReadLine();
                trace.TextToTrace(action);
                if (action.ToLower() == "move")
                {
                    p1.ChangePosition(sm.ChangeDirection(sm.ReadNextKey()));
                }

                if (action.ToLower() == "shoot")
                {
                    p1.Shoot(e1);
                    Console.WriteLine("you fire your cannons, hitting the enemy for 1");
                    Console.WriteLine(e1.Hp);
                }

                if (action == "pickup item")
                {
                    sea.PrintItems();
                    foreach (var item in sea.ItemList)
                    {
                        Console.WriteLine("Do you want to pickup the item y/n");
                        if (Console.ReadLine() == "y")
                        {
                            p1.PickUpItem(item, p1);
                        }
                    }
                }

                if (action.ToLower() == "use item")
                {
                    p1.UseItem(p1, e1);
                }

                if (action.ToLower() == "check inventory")
                {
                    Console.WriteLine("-------------------------");
                    p1.CheckItems();
                    Console.WriteLine("-------------------------");
                }
                else
                {
                    Console.WriteLine("action not vaild");
                }
            }
        }
Пример #3
0
        public IActionResult AddEditProjectPlan(int?id, ProjectPlanViewModel model)
        {
            //  if (false)
            // {


            Boolean flag          = false;
            Boolean flagForEqual  = true;
            string  WorkerList    = string.Empty;
            string  OstadKarList  = string.Empty;
            string  SarparastList = string.Empty;
            int     Identity;
            string  WorkerCodes    = string.Empty;
            string  OstadKarCodes  = string.Empty;
            string  SarparastCodes = string.Empty;

            string[] workerlist    = new string[0];
            string[] ostadkarlist  = new string[0];
            string[] sarparastlist = new string[0];
            // model.GetPersonList = _repository.GetAllPerson().Select(s => new Person { Id = s.Id, FullName = s.FullName }).ToList();

            var query = _repository.GetAllTransitInfoWithPerson();

            #region CheckForEqual
            //---------------------------------------
            if (model.workerList != null && model.ostadkarList != null)
            {
                foreach (string ww in model.workerList)
                {
                    foreach (string oo in model.ostadkarList)
                    {
                        if (oo == ww)
                        {
                            flagForEqual = false;
                        }
                    }
                }
            }
            //-----------------------------------
            if (model.workerList != null && model.sarparastList != null)
            {
                foreach (string ww in model.workerList)
                {
                    foreach (string ss in model.sarparastList)
                    {
                        if (ss == ww)
                        {
                            flagForEqual = false;
                        }
                    }
                }
            }
            //--------------------------------------
            if (model.ostadkarList != null && model.sarparastList != null)
            {
                foreach (string oo in model.ostadkarList)
                {
                    foreach (string ss in model.sarparastList)
                    {
                        if (oo == ss)
                        {
                            flagForEqual = false;
                        }
                    }
                }
            }
            #endregion
            if (flagForEqual)
            {
                if (model.workerList != null)
                {
                    foreach (string pp in model.workerList)
                    {
                        WorkerCodes += pp + ",";

                        foreach (var item in query)
                        {
                            if (pp == Convert.ToString(item.Id))
                            {
                                WorkerList += item.FullName + ",";
                            }
                        }
                    }
                    WorkerCodes = WorkerCodes.Remove(WorkerCodes.Length - 1);
                    WorkerList  = WorkerList.Remove(WorkerList.Length - 1);
                }
                else
                {
                    WorkerCodes = null;
                    WorkerList  = null;
                }

                if (model.ostadkarList != null)
                {
                    foreach (string pp in model.ostadkarList)
                    {
                        OstadKarCodes += pp + ",";

                        foreach (var item in query)
                        {
                            if (pp == Convert.ToString(item.Id))
                            {
                                OstadKarList += item.FullName + ",";
                            }
                        }
                    }
                    OstadKarCodes = OstadKarCodes.Remove(OstadKarCodes.Length - 1);
                    OstadKarList  = OstadKarList.Remove(OstadKarList.Length - 1);
                }
                else
                {
                    OstadKarCodes = null;
                    OstadKarList  = null;
                }

                if (model.sarparastList != null)
                {
                    foreach (string pp in model.sarparastList)
                    {
                        SarparastCodes += pp + ",";

                        foreach (var item in query)
                        {
                            if (pp == Convert.ToString(item.Id))
                            {
                                SarparastList += item.FullName + ",";
                            }
                        }
                    }
                    SarparastCodes = SarparastCodes.Remove(SarparastCodes.Length - 1);
                    SarparastList  = SarparastList.Remove(SarparastList.Length - 1);
                }
                else
                {
                    SarparastCodes = null;
                    SarparastList  = null;
                }

                bool isNew = !id.HasValue;

                var newProjectPlan = _mapper.Map <ProjectPlanViewModel, ProjectPlan>(model);

                if (isNew)
                {
                    TraceWorker traceworker;


                    ProjectPlan oldProjectPlan = new ProjectPlan();
                    oldProjectPlan.ProjectId       = newProjectPlan.ProjectId;
                    oldProjectPlan.DateReg         = newProjectPlan.DateReg;
                    oldProjectPlan.Description     = newProjectPlan.Description;
                    oldProjectPlan.PersonId        = newProjectPlan.PersonId;
                    oldProjectPlan.Activity        = newProjectPlan.Activity;
                    oldProjectPlan.WorkTypeId      = newProjectPlan.WorkTypeId;
                    oldProjectPlan.WorkerList      = WorkerList;
                    oldProjectPlan.WorkerListCodes = WorkerCodes;
                    oldProjectPlan.OstadKarList    = OstadKarList;
                    oldProjectPlan.OstadKarCodes   = OstadKarCodes;
                    oldProjectPlan.SarparastList   = SarparastList;
                    oldProjectPlan.SarparastCodes  = SarparastCodes;
                    Identity = _repository.Add_ProjectPlan_ReturnId(oldProjectPlan);
                    if (model.workerList != null)
                    {
                        foreach (string pp in model.workerList)
                        {
                            //کد 1 در ورودی دوم  معنی ورود به پروژه است
                            //کد 1 در ورودی ششم به معنی پست کارگر است
                            _repository.Save_TraceWorker(Identity, 1, "0", "0", Convert.ToInt32(pp), 1);
                            _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                            _repository.SaveAll();
                        }
                    }

                    if (model.ostadkarList != null)
                    {
                        foreach (string pp in model.ostadkarList)
                        {
                            //کد 1 در ورودی دوم  معنی ورود به پروژه است
                            //کد 2 در ورودی ششم به معنی پست استاد کار است
                            _repository.Save_TraceWorker(Identity, 1, "0", "0", Convert.ToInt32(pp), 2);
                            _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                            _repository.SaveAll();
                        }
                    }
                    if (model.sarparastList != null)
                    {
                        foreach (string pp in model.sarparastList)
                        {
                            //کد 1 در ورودی دوم  معنی ورود به پروژه است
                            //کد 4 در ورودی ششم به معنی پست سرپرست است
                            _repository.Save_TraceWorker(Identity, 1, "0", "0", Convert.ToInt32(pp), 4);
                            _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                            _repository.SaveAll();
                        }
                    }
                }
                else
                {
                    ProjectPlan projectPlan = _repository.GetProjectPlanById(model.Id);
                    TraceWorker traceworker;
                    //--------------------------------------------------------------------
                    #region TraceForWorker
                    if (projectPlan.WorkerListCodes != null)
                    {
                        workerlist = projectPlan.WorkerListCodes.Split(',');
                    }
                    else
                    {
                        workerlist = null;
                    }

                    traceworker = new TraceWorker();
                    if (model.workerList != null)
                    {
                        if (workerlist != null)
                        {
                            //-------------------حلقه زیر برای ورود به پروژه است---------------------------
                            foreach (string pp in model.workerList)
                            {
                                flag = true;
                                for (int i = 0; i < workerlist.Length; i++)
                                {
                                    if (workerlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                    //کد 1 در ورودی ششم به معنی پست کارگر است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 1);
                                    _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                    _repository.SaveAll();
                                }
                            }
                            //-------------------حلقه زیر برای خروج از پروژه است---------------------------
                            for (int i = 0; i < workerlist.Length; i++)
                            {
                                flag = true;
                                foreach (string pp in model.workerList)
                                {
                                    if (workerlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 1 در ورودی دوم  معنی خروج از پروژه است
                                    //کد 1 در ورودی ششم به معنی پست کارگر است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(workerlist[i]), 1);
                                    _repository.Update_StatusTransit(Convert.ToInt32(workerlist[i]), 1);
                                    _repository.SaveAll();
                                }
                            }
                        }
                        else
                        {
                            foreach (string pp in model.workerList)
                            {
                                //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                //کد 1 در ورودی ششم به معنی پست کارگر است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 1);
                                _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                _repository.SaveAll();
                            }
                        }
                    }
                    else
                    {
                        if (workerlist != null)
                        {
                            for (int i = 0; i < workerlist.Length; i++)
                            {
                                //کد 12 در ورودی دوم  معنی خروج از پروژه است
                                //کد 1 در ورودی ششم به معنی پست کارگر است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(workerlist[i]), 1);
                                _repository.Update_StatusTransit(Convert.ToInt32(workerlist[i]), 1);
                                _repository.SaveAll();
                            }
                        }
                    }
                    #endregion
                    #region TraceForOstadKar
                    if (projectPlan.OstadKarCodes != null)
                    {
                        ostadkarlist = projectPlan.OstadKarCodes.Split(',');
                    }
                    else
                    {
                        ostadkarlist = null;
                    }

                    traceworker = new TraceWorker();
                    if (model.ostadkarList != null)
                    {
                        if (ostadkarlist != null)
                        {
                            //-------------------حلقه زیر برای ورود به پروژه است---------------------------
                            foreach (string pp in model.ostadkarList)
                            {
                                flag = true;
                                for (int i = 0; i < ostadkarlist.Length; i++)
                                {
                                    if (ostadkarlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                    //کد 1 در ورودی ششم به معنی پست استادکار است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 2);
                                    _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                    _repository.SaveAll();
                                }
                            }
                            //-------------------حلقه زیر برای خروج از پروژه است---------------------------
                            for (int i = 0; i < ostadkarlist.Length; i++)
                            {
                                flag = true;
                                foreach (string pp in model.ostadkarList)
                                {
                                    if (ostadkarlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 2 در ورودی دوم  معنی خروج از پروژه است
                                    //کد 2 در ورودی ششم به معنی پست استادکار است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(ostadkarlist[i]), 2);
                                    _repository.Update_StatusTransit(Convert.ToInt32(ostadkarlist[i]), 1);
                                    _repository.SaveAll();
                                }
                            }
                        }
                        else
                        {
                            foreach (string pp in model.ostadkarList)
                            {
                                //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                //کد 2 در ورودی ششم به معنی پست استادکار است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 2);
                                _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                _repository.SaveAll();
                            }
                        }
                    }
                    else
                    {
                        if (ostadkarlist != null)
                        {
                            for (int i = 0; i < ostadkarlist.Length; i++)
                            {
                                //کد 2 در ورودی دوم  معنی خروج از پروژه است
                                //کد 2 در ورودی ششم به معنی پست استادکار است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(ostadkarlist[i]), 2);
                                _repository.Update_StatusTransit(Convert.ToInt32(ostadkarlist[i]), 1);
                                _repository.SaveAll();
                            }
                        }
                    }
                    #endregion
                    #region TraceForSarparast
                    if (projectPlan.SarparastCodes != null)
                    {
                        sarparastlist = projectPlan.SarparastCodes.Split(',');
                    }
                    else
                    {
                        sarparastlist = null;
                    }

                    traceworker = new TraceWorker();
                    if (model.sarparastList != null)
                    {
                        if (sarparastlist != null)
                        {
                            //-------------------حلقه زیر برای ورود به پروژه است---------------------------
                            foreach (string pp in model.sarparastList)
                            {
                                flag = true;
                                for (int i = 0; i < sarparastlist.Length; i++)
                                {
                                    if (sarparastlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                    //کد 4 در ورودی ششم به معنی پست سرپرست است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 4);
                                    _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                    _repository.SaveAll();
                                }
                            }
                            //-------------------حلقه زیر برای خروج از پروژه است---------------------------
                            for (int i = 0; i < sarparastlist.Length; i++)
                            {
                                flag = true;
                                foreach (string pp in model.sarparastList)
                                {
                                    if (sarparastlist[i] == pp)
                                    {
                                        flag = false;
                                    }
                                }
                                if (flag)
                                {
                                    //کد 2 در ورودی دوم  معنی خروج از پروژه است
                                    //کد 4 در ورودی ششم به معنی پست سرپرست است
                                    _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(sarparastlist[i]), 4);
                                    _repository.Update_StatusTransit(Convert.ToInt32(sarparastlist[i]), 1);
                                    _repository.SaveAll();
                                }
                            }
                        }
                        else
                        {
                            foreach (string pp in model.sarparastList)
                            {
                                //کد 1 در ورودی دوم  معنی ورود به پروژه است
                                //کد 4 در ورودی ششم به معنی پست سرپرست است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 1, "0", "0", Convert.ToInt32(pp), 4);
                                _repository.Update_StatusTransit(Convert.ToInt32(pp), 2);
                                _repository.SaveAll();
                            }
                        }
                    }
                    else
                    {
                        if (sarparastlist != null)
                        {
                            for (int i = 0; i < sarparastlist.Length; i++)
                            {
                                //کد 2 در ورودی دوم  معنی خروج از پروژه است
                                //کد 4 در ورودی ششم به معنی پست سرپرست است
                                _repository.Save_TraceWorker(newProjectPlan.Id, 2, "0", "0", Convert.ToInt32(sarparastlist[i]), 4);
                                _repository.Update_StatusTransit(Convert.ToInt32(sarparastlist[i]), 1);
                                _repository.SaveAll();
                            }
                        }
                    }
                    #endregion
                    ProjectPlan oldProjectPlan = _repository.GetProjectPlanById(id);
                    oldProjectPlan.ProjectId       = newProjectPlan.ProjectId;
                    oldProjectPlan.DateReg         = newProjectPlan.DateReg;
                    oldProjectPlan.Description     = newProjectPlan.Description;
                    oldProjectPlan.PersonId        = newProjectPlan.PersonId;
                    oldProjectPlan.Activity        = newProjectPlan.Activity;
                    oldProjectPlan.WorkTypeId      = newProjectPlan.WorkTypeId;
                    oldProjectPlan.WorkerList      = WorkerList;
                    oldProjectPlan.WorkerListCodes = WorkerCodes;

                    oldProjectPlan.OstadKarList  = OstadKarList;
                    oldProjectPlan.OstadKarCodes = OstadKarCodes;

                    oldProjectPlan.OstadKarList  = OstadKarList;
                    oldProjectPlan.OstadKarCodes = OstadKarCodes;

                    oldProjectPlan.SarparastList  = SarparastList;
                    oldProjectPlan.SarparastCodes = SarparastCodes;

                    _repository.SaveAll();
                }
                // }

                return(RedirectToAction("AllProjectPlan"));
            }
            else
            {
                return(Json(new { Result = "اسم ها نباید یکسان باشد" }));
            }
        }