Exemple #1
0
        private IEnumerable <HRDDetailViewModel> GetHRDDetails(HRD hrd)
        {
            var hrdDetails    = hrd.HRDDetails;
            var rationDetails = _rationService.FindById(hrd.RationID).RationDetails;

            return(from hrdDetail in hrdDetails
                   select new HRDDetailViewModel()
            {
                HRDDetailID = hrdDetail.HRDDetailID,
                HRDID = hrdDetail.HRDID,
                WoredaID = hrdDetail.WoredaID,
                ZoneID = hrdDetail.AdminUnit.AdminUnit2.AdminUnitID,
                Zone = hrdDetail.AdminUnit.AdminUnit2.Name,
                Region = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.Name,
                RegionID = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID,

                Woreda = hrdDetail.AdminUnit.Name,
                NumberOfBeneficiaries = hrdDetail.NumberOfBeneficiaries,
                //(int)GetTotalBeneficiaries(hrdDetail.HRDID, hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID),
                StartingMonth = hrdDetail.StartingMonth,
                DurationOfAssistance = hrdDetail.DurationOfAssistance,
                //Cereal = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 1).Amount),
                //Pulse = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 2).Amount),
                //BlendedFood = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 3).Amount),
                //Oil = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 4).Amount)
            });
        }
Exemple #2
0
 private IEnumerable <CompareHrdViewModel> CompareHRDSummary(HRD hrd)
 {
     if (hrd != null)
     {
         decimal totalBeneficary = 1;
         if (hrd.HRDDetails.Sum(m => m.NumberOfBeneficiaries) > 0)
         {
             totalBeneficary = hrd.HRDDetails.Sum(m => m.NumberOfBeneficiaries);
         }
         var groupedTotal = from detail in hrd.HRDDetails
                            group detail by detail.AdminUnit.AdminUnit2.AdminUnit2 into regionalDetail
                            select new
         {
             Region = regionalDetail.Key,
             NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries)
         };
         return(from total in groupedTotal
                select new CompareHrdViewModel
         {
             Region = total.Region.Name,
             BeneficiaryNumber = total.NumberOfBeneficiaries,
             Percentage = (decimal)(total.NumberOfBeneficiaries * 100.0) / totalBeneficary
         });
     }
     return(null);
 }
Exemple #3
0
        public bool AddHRD(int year, int userID, int seasonID, int rationID, int planID)
        {
            var plan    = _unitOfWork.PlanRepository.FindById(planID);
            var woredas = _unitOfWork.AdminUnitRepository.FindBy(m => m.AdminUnitTypeID == 4);
            var hrd     = new HRD()
            {
                Year          = year,
                CreatedBY     = userID,
                SeasonID      = seasonID,
                RationID      = rationID,
                PlanID        = planID,
                CreatedDate   = DateTime.Now,
                PublishedDate = DateTime.Now,
                Status        = (int?)HRDStatus.Draft
            };
            var hrdDetails = (from detail in woredas
                              select new HRDDetail
            {
                WoredaID = detail.AdminUnitID,
                StartingMonth = plan.StartDate.Month,
                NumberOfBeneficiaries = 0,
                DurationOfAssistance = 0
            }).ToList();

            hrd.HRDDetails = hrdDetails;
            _unitOfWork.HRDRepository.Add(hrd);
            _unitOfWork.Save();
            return(true);
        }
Exemple #4
0
        private IEnumerable <RegionalSummaryViewModel> GetSummary(HRD hrd, string adminLevel = "Region")
        {
            var details = hrd.HRDDetails;
            //var hrd = _hrdService.FindById(id);
            //details.First().HRD;
            var cerealCoefficient    = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 1).Amount;
            var blendFoodCoefficient = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 2).Amount;
            var pulseCoefficient     = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 3).Amount;
            var oilCoefficient       = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 4).Amount;

            ViewBag.SeasonID = hrd.Season.Name;
            ViewBag.Year     = hrd.Year;
            var groupedTotal = from detail in details
                               group detail by detail.AdminUnit.AdminUnit2.AdminUnit2 into regionalDetail
                               select new
            {
                Region = regionalDetail.Key,
                NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries),
                Duration = regionalDetail.Sum(m => (m.NumberOfBeneficiaries * m.DurationOfAssistance))
            };

            if (adminLevel == "Zone")
            {
                groupedTotal = from detail in details
                               group detail by detail.AdminUnit.AdminUnit2 into regionalDetail
                               select new
                {
                    Region = regionalDetail.Key,
                    NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries),
                    Duration = regionalDetail.Sum(m => (m.NumberOfBeneficiaries * m.DurationOfAssistance))
                };
            }
            if (adminLevel == "Woreda")
            {
                groupedTotal = from detail in details
                               group detail by detail.AdminUnit into regionalDetail
                               select new
                {
                    Region = regionalDetail.Key,
                    NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries),
                    Duration = regionalDetail.Sum(m => (m.NumberOfBeneficiaries * m.DurationOfAssistance))
                };
            }
            var cv = (from total in groupedTotal
                      select new RegionalSummaryViewModel
            {
                RegionName = total.Region.Name,
                AdminUnitID = total.Region.AdminUnitID,
                AdminUnitName = total.Region.Name,
                NumberOfBeneficiaries = total.NumberOfBeneficiaries,
                Cereal = cerealCoefficient * total.Duration / 1000,
                code = total.Region.code,
                BlededFood = blendFoodCoefficient * total.Duration / 1000,
                Oil = oilCoefficient * total.Duration / 1000,
                Pulse = pulseCoefficient * total.Duration / 1000
            });

            return(cv);
        }
Exemple #5
0
 public bool DeleteHRD(HRD hrd)
 {
     if (hrd == null)
     {
         return(false);
     }
     _unitOfWork.HRDRepository.Delete(hrd);
     _unitOfWork.Save();
     return(true);
 }
Exemple #6
0
        public bool AddHRDFromAssessment(HRD hrd)
        {
            _unitOfWork.HRDRepository.Add(hrd);
            _unitOfWork.Save();
            var plan = _unitOfWork.PlanRepository.FindById(hrd.PlanID);

            plan.Status = (int)PlanStatus.HRDCreated;
            _unitOfWork.PlanRepository.Edit(plan);
            _unitOfWork.Save();
            return(true);
        }
Exemple #7
0
        public ActionResult CreateHRD(int id)
        {
            var plan = _hrdService.GetPlan(id);
            var hrd  = new HRD();

            ViewBag.Year     = DateTime.Today.Year;
            ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber");
            ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name");
            hrd.PlanID       = plan.PlanID;
            return(View(hrd));
        }
Exemple #8
0
        public ActionResult Edit(HRD hrd)
        {
            var userid = UserAccountHelper.GetUser(HttpContext.User.Identity.Name).UserProfileID;

            hrd.CreatedBY = userid;
            if (ModelState.IsValid)
            {
                _hrdService.EditHRD(hrd);
                return(RedirectToAction("Index"));
            }

            return(View(hrd));
        }
Exemple #9
0
        public ActionResult Create()
        {
            var hrd = new HRD();

            // hrd.HRDDetails = new List<HRDDetail>();
            //ViewBag.Year = DateTime.Today.Year;
            ViewBag.RationID         = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1);
            ViewBag.NeedAssessmentID = new SelectList(_needAssessmentService.GetAllNeedAssessmentHeader().Where(m => m.NeedAssessment.NeedAApproved == true), "NAHeaderId",
                                                      "NeedACreatedDate");
            ViewBag.PlanID   = new SelectList(_hrdService.GetPlans(), "PlanID", "PlanName");
            ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name", 0);
            return(View(hrd));
        }
Exemple #10
0
        public static List <HRDCompareViewModel> BindHRDCompareViewModel(HRD hrdOriginal, HRD hrdRefrence, int filterRegion)
        {
            var hrdCompareViewModels = new List <HRDCompareViewModel>();

            if (hrdOriginal == null)
            {
                return(hrdCompareViewModels);
            }
            if (!hrdOriginal.HRDDetails.Any())
            {
                return(hrdCompareViewModels);
            }

            foreach (var hrdDetail in hrdOriginal.HRDDetails.Where(t => t.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == filterRegion))
            {
                var hrdCompareViewModel = new HRDCompareViewModel();
                hrdCompareViewModel.Year                 = hrdOriginal.Year;
                hrdCompareViewModel.SeasonId             = hrdOriginal.SeasonID.HasValue ? hrdOriginal.SeasonID.Value : 0;
                hrdCompareViewModel.Season               = hrdOriginal.SeasonID.HasValue ? hrdOriginal.Season.Name : string.Empty;
                hrdCompareViewModel.RationId             = hrdOriginal.RationID;
                hrdCompareViewModel.DurationOfAssistance = hrdDetail.DurationOfAssistance;
                hrdCompareViewModel.BeginingMonth        = hrdDetail.StartingMonth;
                hrdCompareViewModel.Beneficiaries        = hrdDetail.NumberOfBeneficiaries;
                hrdCompareViewModel.ZoneId               = hrdDetail.AdminUnit.AdminUnit2.AdminUnitID;
                hrdCompareViewModel.Zone                 = hrdDetail.AdminUnit.AdminUnit2.Name;
                hrdCompareViewModel.RegionId             = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID;
                hrdCompareViewModel.Region               = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.Name;
                hrdCompareViewModel.WoredaId             = hrdDetail.WoredaID;
                hrdCompareViewModel.Woreda               = hrdDetail.AdminUnit.Name;
                hrdCompareViewModel.StartingMonth        = RequestHelper.MonthName(hrdDetail.StartingMonth);

                if (hrdRefrence != null)
                {
                    var hrdReferenceDetail =
                        hrdRefrence.HRDDetails.FirstOrDefault(t => t.WoredaID == hrdDetail.WoredaID);
                    if (hrdReferenceDetail != null)
                    {
                        hrdCompareViewModel.RefrenceDuration       = hrdReferenceDetail.DurationOfAssistance;
                        hrdCompareViewModel.BeginingMonthReference = hrdReferenceDetail.StartingMonth;
                        hrdCompareViewModel.BeneficiariesRefrence  = hrdReferenceDetail.NumberOfBeneficiaries;
                        hrdCompareViewModel.StartingMonthReference = RequestHelper.MonthName(hrdReferenceDetail.StartingMonth);
                    }
                }
                hrdCompareViewModels.Add(hrdCompareViewModel);
            }
            return(hrdCompareViewModels);
        }
Exemple #11
0
        public ActionResult CreateHRD(HRD hrd)
        {
            DateTime dateCreated   = DateTime.Now;
            DateTime DatePublished = DateTime.Now;

            hrd.CreatedDate   = dateCreated;
            hrd.PublishedDate = DatePublished;
            hrd.Status        = 1;

            if (ModelState.IsValid)
            {
                try
                {
                    var userid  = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name);
                    var woredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4);
                    hrd.CreatedBY = userid;
                    var hrdDetails = (from detail in woredas
                                      select new HRDDetail
                    {
                        WoredaID = detail.AdminUnitID,
                        StartingMonth = dateCreated.Month,
                        NumberOfBeneficiaries =
                            _needAssessmentDetailService.GetNeedAssessmentBeneficiaryNoFromPlan(
                                hrd.PlanID, detail.AdminUnitID),
                        DurationOfAssistance =
                            _needAssessmentDetailService.GetNeedAssessmentMonthsFromPlan(
                                hrd.PlanID, detail.AdminUnitID)
                    }).ToList();

                    hrd.HRDDetails = hrdDetails;
                    _hrdService.AddHRDFromAssessment(hrd);
                    return(RedirectToAction("Index"));
                }
                catch (Exception exception)
                {
                    var log = new Logger();
                    log.LogAllErrorsMesseges(exception, _log);
                    ModelState.AddModelError("Errors", @"Unable to create hrd form the given need Assessment");
                    //ViewBag.Error = "HRD for this Season and Year already Exists";
                }
            }
            ViewBag.Year     = hrd.Year;
            ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber");
            ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name");
            return(View(hrd));
        }
Exemple #12
0
        public ActionResult Create(HRD hrd)
        {
            var year     = hrd.Year;
            var userID   = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name);
            var seasonID = hrd.SeasonID.HasValue ? hrd.SeasonID.Value:1;
            var rationID = hrd.RationID;


            var planName           = hrd.Plan.PlanName;
            var startDate          = hrd.Plan.StartDate;
            var firstDayOfTheMonth = startDate.AddDays(1 - startDate.Day);
            var endDate            = firstDayOfTheMonth.AddMonths(hrd.Plan.Duration).AddDays(-1);

            if (ModelState.IsValid)
            {
                var existingPlan = _planService.FindBy(m => m.PlanName == planName && m.ProgramID == 1).FirstOrDefault();
                if (existingPlan != null)
                {
                    ModelState.AddModelError("Errors", @"HRD Name already Exists Please Change HRD Name");
                }
                else
                {
                    try
                    {
                        _planService.AddHRDPlan(planName, firstDayOfTheMonth, endDate);
                        var plan   = _planService.FindBy(m => m.PlanName == planName).FirstOrDefault();
                        var planID = plan.PlanID;
                        _hrdService.AddHRD(year, userID, seasonID, rationID, planID);
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception exception)
                    {
                        var log = new Logger();
                        log.LogAllErrorsMesseges(exception, _log);
                        ModelState.AddModelError("Errors", @"Unable To Create New HRD");
                        //ViewBag.Error = "HRD for this Season and Year already Exists";
                    }
                }
            }

            ViewBag.Year     = hrd.Year;
            ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1);
            ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name");
            return(View(hrd));
        }
Exemple #13
0
 public bool AddHRD(HRD hrd)
 {
     _unitOfWork.HRDRepository.Add(hrd);
     _unitOfWork.Save();
     return(true);
 }
Exemple #14
0
            private static void ex1()
            {
                Console.WriteLine("Введите номер подзадания (1 или 2) , который хотите увидеть  ");
                int tmp = Convert.ToInt32(Console.ReadLine());

                if (tmp == 1)
                {
                    int choice = 0;
                    do
                    {
                        Console.WriteLine("Выберите пункт");
                        Console.WriteLine("1 - Просмотр таблицы");
                        Console.WriteLine("2 - добавить запись");
                        Console.WriteLine("3 - Удалить запись");
                        Console.WriteLine("4 - обновить запись");
                        Console.WriteLine("5 - поиск записей");
                        Console.WriteLine("6 - просмотреть лог");
                        Console.WriteLine("7 - Выход");
                        choice = int.Parse(Console.ReadLine());
                        switch (choice)
                        {
                        case WATCH_TABLE:
                            Console.WriteLine("{0,10} {1,10} {2,10} {3,10}", "Фамилия", "Должность", "Год рождения", "Оклад");
                            for (int list_item = 0; list_item < list.Count; list_item++)
                            {
                                HRD t = list[list_item];
                                Console.WriteLine("----------------------------------------------------------------------------");
                                t.ShowTable(t.Name, t.Postion, t.Yers, t.Salary);
                            }
                            Logging.Add(DateTime.Now, Operations.LOOK, "Просмотрена таблица");
                            break;

                        case ADD_RAW:
                            HRD t1;
                            Console.WriteLine("Введите Фамилию");
                            t1.Name = Console.ReadLine();
                            Console.WriteLine("Введите Должность");
                            t1.Postion = Console.ReadLine();

Found1:
                            Console.WriteLine("Введите год рождения");
                            try
                            {
                                int blabla = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                                t1.Yers = blabla;
                                if ((blabla < 1895) || (blabla > 2030))
                                {
                                    Console.WriteLine("Error. (Введите повторно)");
                                    goto Found1;
                                }
                            }
                            catch (FormatException)
                            {
                                t1.Yers = 000;
                                Console.WriteLine("Error. (Введите повторно)");
                                goto Found1;
                            }
                            Pos pro;
Found3:
                            Console.WriteLine("Введите оклад");
                            try
                            {
                                string blabla3 = Console.ReadLine();
                                t1.Salary = blabla3;
                                pro       = (Pos)Enum.Parse(typeof(Pos), blabla3);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine("Error. (Введите повторно)");
                                pro = Pos.None;
                                goto Found3;
                            }

                            list.Add(t1);
                            Console.WriteLine("Строка была добавлена!");
                            Console.WriteLine();
                            Logging.Add(DateTime.Now, Operations.ADD, "Строка добавлена в таблицу!");
                            break;

                        case REMOVE_RAW:
                            Console.WriteLine("Введите номер строки, которую хотите удалить");
                            int number = int.Parse(Console.ReadLine());
                            try
                            {
                                list.RemoveAt(number - 1);
                            }
                            catch (Exception e) { Console.WriteLine("Строки с таким номером нет!"); }
                            Console.WriteLine();
                            Logging.Add(DateTime.Now, Operations.ADD, "Строка удалена!");
                            break;

                        case UPDATE_RAW:
                            Console.WriteLine("Введите номер строки, которую хотите изменить");
                            int UpdateIndex = int.Parse(Console.ReadLine());
                            try
                            {
                                HRD t2 = list[UpdateIndex - 1];

                                //Выводим старые значения

                                t2.ShowTable(t2.Name, t2.Postion, t2.Yers, t2.Salary);


                                //Вводим новые значения

                                Console.WriteLine("Введите новое фамилию");
                                t2.Name = Console.ReadLine();
                                Console.WriteLine("Введите новую должность");
                                t2.Postion = Console.ReadLine();
                                Console.WriteLine("Введите новый год рождения");
Found2:
                                t2.Yers = int.Parse(Console.ReadLine());
                                try
                                {
                                    int blabla2 = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                                    t2.Yers = blabla2;
                                    if ((blabla2 < 1895) || (blabla2 > 2030))
                                    {
                                        Console.WriteLine("Error. (Введите повторно)");
                                        goto Found2;
                                    }
                                }
                                catch (FormatException)
                                {
                                    t2.Yers = 000;
                                    Console.WriteLine("Error. (Введите повторно)");
                                    goto Found2;
                                }
                                Console.WriteLine("Введите новый Тип");
                                Pos pro2;
Found4:
                                try
                                {
                                    string blabla4 = Console.ReadLine();
                                    t2.Salary = blabla4;
                                    pro2      = (Pos)Enum.Parse(typeof(Pos), blabla4);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine("Error. (Введите повторно)");
                                    pro2 = Pos.None;
                                    goto Found4;
                                }
                                list[UpdateIndex - 1] = t2;
                            }
                            catch (Exception e) { Console.WriteLine("Нет строки с таким номером!"); }
                            Logging.Add(DateTime.Now, Operations.ADD, "Строка обновлена!");
                            break;

                        case FIND_RAW:
                            Console.WriteLine("Введите фамилию");
                            string text = Console.ReadLine();
                            HRD    FindRaw;
                            for (int item_list = 0; item_list < list.Count; item_list++)
                            {
                                FindRaw = list[item_list];
                                if (FindRaw.Name.ToLower().Equals(text.ToLower()))
                                {
                                    Console.Write("{0,10}", FindRaw.Name);
                                    Console.Write("{0,10}", FindRaw.Postion);
                                    Console.Write("{0,10}", FindRaw.Yers);
                                    Console.Write("{0,10}", FindRaw.Salary);
                                    Console.WriteLine();
                                }
                            }
                            Logging.Add(DateTime.Now, Operations.ADD, "Строка найдена!");
                            break;

                        case SHOW_LOG:
                            Logging.Add(DateTime.Now, Operations.ADD, "Логи просмотрены!");
                            Logging.ShowInfo();
                            break;

                        case EXIT:
                            break;
                        }
                    } while (choice != 7);
                }
                if (tmp == 2)
                {
                    int choice = 0;
                    do
                    {
                        var logOfSession = new DoublyLinkedList <Log>();
                        var table        = new DoublyLinkedList <WR>();
                        int salary;
                        int year;
                        Console.WriteLine("Выберите пункт");
                        Console.WriteLine("1 - Просмотр таблицы");
                        Console.WriteLine("2 - добавить запись");
                        Console.WriteLine("3 - Удалить запись");
                        Console.WriteLine("4 - обновить запись");
                        Console.WriteLine("5 - поиск записей");
                        Console.WriteLine("6 - просмотреть лог");
                        Console.WriteLine("7 - Выход");
                        choice = int.Parse(Console.ReadLine());
                        switch (choice)
                        {
                        case WATCH_TABLE:
                            Console.WriteLine("{0,10} {1,10} {2,10} {3,10}", "Фамилия", "Должность", "Год рождения", "Оклад");
                            for (int list_item = 0; list_item < list.Count; list_item++)
                            {
                                foreach (var item in table)
                                {
                                    item.showTable();
                                }
                            }
                            Log newLog;
                            newLog.time      = DateTime.Now;
                            newLog.operation = "Просмотр таблицы";
                            logOfSession.Add(newLog);
                            break;

                        case ADD_RAW:
                            string name;
                            Pos    position = new Pos();
                            Console.WriteLine("Введите Фамилию");
                            name = Console.ReadLine();
                            Console.WriteLine("Введите Должность");
                            string pos = Console.ReadLine();
                            if (pos == "П")
                            {
                                position = Pos.П;
                            }
                            else if (pos == "С")
                            {
                                position = Pos.С;
                            }
                            else if (pos == "А")
                            {
                                position = Pos.А;
                            }
                            else
                            {
                                Console.WriteLine("УПС!\n-_-");
                            }
Found1:
                            Console.WriteLine("Введите год рождения");
                            try
                            {
                                int blabla = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                                year = blabla;
                                if ((blabla < 1895) || (blabla > 2030))
                                {
                                    Console.WriteLine("Error. (Введите повторно)");
                                    goto Found1;
                                }
                            }
                            catch (FormatException)
                            {
                                year = 000;
                                Console.WriteLine("Error. (Введите повторно)");
                                goto Found1;
                            }
                            Pos pro;
Found3:
                            Console.WriteLine("Введите оклад");
                            try
                            {
                                int blabla3 = Convert.ToInt32(Console.ReadLine());
                                salary = blabla3;
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine("Error. (Введите повторно)");
                                pro = Pos.None;
                                goto Found3;
                            }
                            WR newWr;
                            newWr.name     = name;
                            newWr.position = position;
                            newWr.salary   = salary;
                            newWr.year     = year;
                            Console.WriteLine("Строка была добавлена!");
                            Console.WriteLine();

                            newLog.time      = DateTime.Now;
                            newLog.operation = "Строка добавлена";
                            logOfSession.Add(newLog); break;

                        case REMOVE_RAW:
                            Console.WriteLine("Введите номер строки, которую хотите удалить");
                            int number = int.Parse(Console.ReadLine());
                            try
                            {
                                list.RemoveAt(number - 1);
                            }
                            catch (Exception e) { Console.WriteLine("Строки с таким номером нет!"); }
                            Console.WriteLine();
                            newLog.time      = DateTime.Now;
                            newLog.operation = "Строка delet";
                            logOfSession.Add(newLog);  break;

                        case UPDATE_RAW:
                            Console.WriteLine("Введите номер строки, которую хотите изменить");
                            int UpdateIndex = int.Parse(Console.ReadLine());
                            try
                            {
                                HRD t2 = list[UpdateIndex - 1];

                                //Выводим старые значения

                                t2.ShowTable(t2.Name, t2.Postion, t2.Yers, t2.Salary);


                                //Вводим новые значения

                                Console.WriteLine("Введите новое фамилию");
                                t2.Name = Console.ReadLine();
                                Console.WriteLine("Введите новую должность");
                                t2.Postion = Console.ReadLine();
                                Console.WriteLine("Введите новый год рождения");
Found2:
                                t2.Yers = int.Parse(Console.ReadLine());
                                try
                                {
                                    int blabla2 = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                                    t2.Yers = blabla2;
                                    if ((blabla2 < 1895) || (blabla2 > 2030))
                                    {
                                        Console.WriteLine("Error. (Введите повторно)");
                                        goto Found2;
                                    }
                                }
                                catch (FormatException)
                                {
                                    t2.Yers = 000;
                                    Console.WriteLine("Error. (Введите повторно)");
                                    goto Found2;
                                }
                                Console.WriteLine("Введите новый Тип");
                                Pos pro2;
Found4:
                                try
                                {
                                    string blabla4 = Console.ReadLine();
                                    t2.Salary = blabla4;
                                    pro2      = (Pos)Enum.Parse(typeof(Pos), blabla4);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine("Error. (Введите повторно)");
                                    pro2 = Pos.None;
                                    goto Found4;
                                }
                                list[UpdateIndex - 1] = t2;
                            }
                            catch (Exception e) { Console.WriteLine("Нет строки с таким номером!"); }
                            newLog.time      = DateTime.Now;
                            newLog.operation = "Строка обновлена";
                            logOfSession.Add(newLog); break;

                        case FIND_RAW:
                            Console.WriteLine("Введите фамилию");
                            string text = Console.ReadLine();
                            HRD    FindRaw;
                            for (int item_list = 0; item_list < list.Count; item_list++)
                            {
                                FindRaw = list[item_list];
                                if (FindRaw.Name.ToLower().Equals(text.ToLower()))
                                {
                                    Console.Write("{0,10}", FindRaw.Name);
                                    Console.Write("{0,10}", FindRaw.Postion);
                                    Console.Write("{0,10}", FindRaw.Yers);
                                    Console.Write("{0,10}", FindRaw.Salary);
                                    Console.WriteLine();
                                }
                            }
                            newLog.time      = DateTime.Now;
                            newLog.operation = "Строка найдена";
                            logOfSession.Add(newLog);                                 newLog.time = DateTime.Now;
                            newLog.operation = "Логи просмотрены";
                            logOfSession.Add(newLog);
                            break;

                        case EXIT:
                            break;
                        }
                    } while (choice != 7);
                }
            }
Exemple #15
0
        static void Main(string[] args)
        {
            int choice = 0;

            do
            {
                Console.WriteLine("Выберите пункт");
                Console.WriteLine("1 - Просмотр таблицы");
                Console.WriteLine("2 - Добавить запись");
                Console.WriteLine("3 - Удалить запись");
                Console.WriteLine("4 - Обновить запись");
                Console.WriteLine("5 - Поиск записей");
                Console.WriteLine("6 - Просмотреть лог");
                Console.WriteLine("7 - Выход");
                choice = int.Parse(Console.ReadLine());
                switch (choice)
                {
                case WATCH_TABLE:
                    Console.WriteLine("{0,10} {1,10} {2,10} {3,10}", "Вид транспорта", "№ маршрута", "Протяженность маршрута (км) ", "Время в дороге (мин)");
                    for (int list_item = 0; list_item < list.Count; list_item++)
                    {
                        HRD t = list[list_item];
                        Console.WriteLine("----------------------------------------------------------------------------\n");
                        t.ShowTable(t.Transport, t.number, t.Length, t.RoadTime);
                    }

                    string textFromFile = FileExpert.ReadFromRelativePath("lab.dat");
                    Console.WriteLine(textFromFile);
                    Logging.Add(DateTime.Now, Operations.LOOK, "Просмотрена таблица");
                    break;

                case ADD_RAW:
                    HRD t1;
                    Console.WriteLine("Введите Вид транспорта");
                    t1.Transport = Console.ReadLine();
                    Console.WriteLine("Введите Номер маршрута");
                    t1.number = Console.ReadLine();

Found1:
                    Console.WriteLine("Введите Протяженность маршрута (км) ");
                    try
                    {
                        int enter_length = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                        t1.Length = enter_length;
                        if ((enter_length <= 0) || (enter_length >= 250))
                        {
                            Console.WriteLine("Error. (Введите повторно)");
                            goto Found1;
                        }
                    }
                    catch (FormatException)
                    {
                        t1.Length = 000;
                        Console.WriteLine("Error. (Введите повторно)");
                        goto Found1;
                    }
                    Pos pro;
Found3:
                    Console.WriteLine("Время в дороге (мин)");
                    try
                    {
                        string enter_length3 = Console.ReadLine();
                        t1.RoadTime = enter_length3;
                        pro         = (Pos)Enum.Parse(typeof(Pos), enter_length3);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error. (Введите повторно)");
                        pro = Pos.None;
                        goto Found3;
                    }

                    list.Add(t1);
                    Console.WriteLine("Строка была добавлена!");
                    Console.WriteLine();
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка добавлена в таблицу!");
                    break;

                case REMOVE_RAW:


                    Console.WriteLine("Введите номер строки, которую хотите удалить");
                    int number = int.Parse(Console.ReadLine());
                    try
                    {
                        list.RemoveAt(number - 1);
                    }
                    catch (Exception e) { Console.WriteLine("Строки с таким номером нет!"); }
                    Console.WriteLine();
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка удалена!");
                    break;

                case UPDATE_RAW:
                    Console.WriteLine("Введите номер строки, которую хотите изменить");
                    int UpdateIndex = int.Parse(Console.ReadLine());
                    try
                    {
                        HRD t2 = list[UpdateIndex - 1];

                        //Выводим старые значения

                        t2.ShowTable(t2.Transport, t2.number, t2.Length, t2.RoadTime);


                        //Вводим новые значения

                        Console.WriteLine("Введите новый вид транспорта");
                        t2.Transport = Console.ReadLine();
                        Console.WriteLine("Введите новый № маршрута ");
                        t2.number = Console.ReadLine();
                        Console.WriteLine("Введите новую протяженность маршрута (км) ");
Found2:
                        t2.Length = int.Parse(Console.ReadLine());
                        try
                        {
                            int enter_length2 = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                            t2.Length = enter_length2;
                            if ((enter_length2 < 1895) || (enter_length2 > 2030))
                            {
                                Console.WriteLine("Error. (Введите повторно)");
                                goto Found2;
                            }
                        }
                        catch (FormatException)
                        {
                            t2.Length = 000;
                            Console.WriteLine("Error. (Введите повторно)");
                            goto Found2;
                        }
                        Console.WriteLine("Введите новый Тип");
                        Pos pro2;
Found4:
                        try
                        {
                            string enter_length4 = Console.ReadLine();
                            t2.RoadTime = enter_length4;
                            pro2        = (Pos)Enum.Parse(typeof(Pos), enter_length4);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Error. (Введите повторно)");
                            pro2 = Pos.None;
                            goto Found4;
                        }
                        list[UpdateIndex - 1] = t2;
                    }
                    catch (Exception e) { Console.WriteLine("Нет строки с таким номером!"); }
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка обновлена!");
                    break;

                case FIND_RAW:
                    Console.WriteLine("Введите фамилию");
                    string text = Console.ReadLine();
                    HRD    FindRaw;
                    for (int item_list = 0; item_list < list.Count; item_list++)
                    {
                        FindRaw = list[item_list];
                        if (FindRaw.Transport.ToLower().Equals(text.ToLower()))
                        {
                            Console.Write("{0,10}", FindRaw.Transport);
                            Console.Write("{0,10}", FindRaw.number);
                            Console.Write("{0,10}", FindRaw.Length);
                            Console.Write("{0,10}", FindRaw.RoadTime);
                            Console.WriteLine();
                        }
                    }
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка найдена!");
                    break;

                case SHOW_LOG:
                    Logging.Add(DateTime.Now, Operations.ADD, "Логи просмотрены!");
                    Logging.ShowInfo();
                    break;

                case EXIT:

                    String file = string.Empty;
                    foreach (var t in list)
                    {
                        file += "----------------------------------------------------------------------------";
                        file += t.Transport + "\t" + t.number + "\t" + t.Length + "\t" + t.RoadTime;
                    }
                    //for (int list_item = 0; list_item < list.Count; list_item++)
                    //{
                    //    HRD t = list[list_item];
                    //    write.WriteLine("----------------------------------------------------------------------------");
                    //    write.WriteLine("{0,10} {1,10} {2,10} {3,10}" , t.Transport, t.number, t.Length, t.RoadTime);
                    // }

                    FileExpert.SaveToRelativePath("lab.dat", file);
                    break;
                }
            } while (choice != 7);
        }
        public HRDPSNPPlanInfo PlanToRequest(HRDPSNPPlan plan)
        {
            //if (CheckDurationOfAssisstance(plan))
            //{
            HRDPSNPPlanInfo        result           = new HRDPSNPPlanInfo();
            List <BeneficiaryInfo> beneficiaryInfos = new List <BeneficiaryInfo>();

            result.HRDPSNPPlan = plan;
            if (plan.ProgramID == (int)Programs.PSNP)
            {
                RegionalPSNPPlan psnpplan =
                    _unitOfWork.RegionalPSNPPlanRepository.FindBy(r => r.PlanId == plan.PSNPPlanID).FirstOrDefault();

                if (psnpplan != null)
                {
                    //TODO:Uncomment this (if PSNP case team Users change their mind and want to get previous request information instead of planned information)

                    var lastPsnpRequest = _unitOfWork.RegionalRequestRepository.FindBy(r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.PSNP && r.PlanID == plan.PSNPPlanID).LastOrDefault();
                    if (lastPsnpRequest != null)
                    {
                        result.HRDPSNPPlan.RationID    = psnpplan.RationID;
                        result.HRDPSNPPlan.Contingency = lastPsnpRequest.Contingency;
                        var noOfPsnprequests       = _unitOfWork.RegionalRequestRepository.FindBy(r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.PSNP && r.PlanID == plan.PSNPPlanID).Count;
                        var psnpApplicationWoredas = (from psnpDetail in psnpplan.RegionalPSNPPlanDetails
                                                      where
                                                      psnpDetail.PlanedWoreda.AdminUnit2.AdminUnit2.AdminUnitID ==
                                                      plan.RegionID &&
                                                      psnpDetail.FoodRatio > noOfPsnprequests
                                                      select psnpDetail.PlanedWoredaID).ToList();
                        beneficiaryInfos = LastReliefRequest(lastPsnpRequest, psnpApplicationWoredas);
                    }
                    else
                    {
                        result.HRDPSNPPlan.RationID    = psnpplan.RationID;
                        result.HRDPSNPPlan.Contingency =
                            psnpplan.RegionalPSNPPlanDetails.Any(
                                t => t.StartingMonth == result.HRDPSNPPlan.Month && t.Contingency);
                        beneficiaryInfos = PSNPToRequest(psnpplan, plan.RegionID, plan.Month);
                    }
                }
            }
            else if (plan.ProgramID == (int)Programs.Releif)
            {
                HRD hrd = _unitOfWork.HRDRepository.FindBy(r => r.PlanID == plan.PlanID).LastOrDefault();

                if (hrd != null)
                {
                    var lastRequest =
                        _unitOfWork.RegionalRequestRepository.FindBy(
                            r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.Releif && r.PlanID == plan.PlanID).
                        LastOrDefault();
                    if (lastRequest != null)
                    {
                        result.HRDPSNPPlan.RationID = hrd.RationID;
                        var requests =
                            _unitOfWork.RegionalRequestRepository.FindBy(
                                r => r.RegionID == plan.RegionID && r.ProgramId == 1 && r.PlanID == plan.PlanID);
                        var numberOfRequestsPerRegion = requests.Count;
                        var applicableWoredas         = (from detail in hrd.HRDDetails
                                                         where detail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == plan.RegionID //&& detail.DurationOfAssistance > numberOfRequestsPerRegion
                                                         select detail.WoredaID).ToList();
                        beneficiaryInfos = LastReliefRequest(lastRequest, applicableWoredas);
                        // var lastRequestDetail = LastReliefRequest(lastRequest);
                    }
                    else
                    {
                        result.HRDPSNPPlan.RationID = hrd.RationID;
                        List <HRDDetail> hrddetail =
                            (from woreda in hrd.HRDDetails
                             where
                             woreda.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == plan.RegionID &&
                             woreda.DurationOfAssistance > 0
                             select woreda).ToList();
                        beneficiaryInfos = HRDToRequest(hrddetail);
                    }
                }
            }
            else
            {
                //if program is IDPS
                List <BeneficiaryInfo> benficiaries = new List <BeneficiaryInfo>();
                List <AdminUnit>       woredas      = new List <AdminUnit>();
                var zones =
                    _unitOfWork.AdminUnitRepository.FindBy(
                        w => w.AdminUnitTypeID == 3 && w.ParentID == plan.RegionID);
                foreach (var zone in zones)
                {
                    AdminUnit zone1 = zone;
                    woredas.AddRange(_unitOfWork.AdminUnitRepository.FindBy(w => w.ParentID == zone1.AdminUnitID));
                }
                //var
                foreach (var woreda in woredas)
                {
                    AdminUnit  woreda1    = woreda;
                    List <FDP> WoredaFDPs =
                        _unitOfWork.FDPRepository.FindBy(w => w.AdminUnitID == woreda1.AdminUnitID);
                    ICollection <BeneficiaryInfo> woredabeneficiaries =
                        (from FDP fdp in WoredaFDPs
                         select new BeneficiaryInfo {
                        FDPID = fdp.FDPID, FDPName = fdp.Name, Beneficiaries = 0
                    }).
                        ToList();
                    benficiaries.AddRange(woredabeneficiaries);
                }

                //beneficiaryInfos = benficiaries;
                //beneficiaryInfos = null;
            }
            result.BeneficiaryInfos = beneficiaryInfos;
            return(result);
            //}
            //return null;
        }
Exemple #17
0
        static void Main(string[] args)
        {
            int choice = 0;

            do
            {
                Console.WriteLine("Выберите пункт");
                Console.WriteLine("1 - Просмотр таблицы");
                Console.WriteLine("2 - Добавить запись");
                Console.WriteLine("3 - Удалить запись");
                Console.WriteLine("4 - Обновить запись");
                Console.WriteLine("5 - Поиск записей");
                Console.WriteLine("6 - Просмотреть лог");
                Console.WriteLine("7 - Выход");
                choice = int.Parse(Console.ReadLine());
                string path = @"D:\lab.dat";
                switch (choice)
                {
                case WATCH_TABLE:
                    Console.WriteLine("{0,10} {1,10} {2,10} {3,10}", "Фамилия", "Должность", "Год рождения", "Оклад");
                    for (int list_item = 0; list_item < list.Count; list_item++)
                    {
                        HRD t = list[list_item];
                        Console.WriteLine("----------------------------------------------------------------------------");
                        t.ShowTable(t.Name, t.Postion, t.Yers, t.Salary);
                    }
                    FileStream fstream = File.OpenRead(path);

                    // преобразуем строку в байты
                    byte[] array = new byte[fstream.Length];
                    // считываем данные
                    fstream.Read(array, 0, array.Length);
                    // декодируем байты в строку
                    string textFromFile = System.Text.Encoding.Default.GetString(array);
                    Console.WriteLine(textFromFile);
                    Logging.Add(DateTime.Now, Operations.LOOK, "Просмотрена таблица");
                    break;

                case ADD_RAW:
                    HRD t1;
                    Console.WriteLine("Введите Фамилию");
                    t1.Name = Console.ReadLine();
                    Console.WriteLine("ВведитеДолжность");
                    t1.Postion = Console.ReadLine();

Found1:
                    Console.WriteLine("Введите год рождения");
                    try
                    {
                        int blabla = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                        t1.Yers = blabla;
                        if ((blabla < 1895) || (blabla > 2030))
                        {
                            Console.WriteLine("Error. (Введите повторно)");
                            goto Found1;
                        }
                    }
                    catch (FormatException)
                    {
                        t1.Yers = 000;
                        Console.WriteLine("Error. (Введите повторно)");
                        goto Found1;
                    }
                    Pos pro;
Found3:
                    Console.WriteLine("Введите оклад");
                    try
                    {
                        string blabla3 = Console.ReadLine();
                        t1.Salary = blabla3;
                        pro       = (Pos)Enum.Parse(typeof(Pos), blabla3);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error. (Введите повторно)");
                        pro = Pos.None;
                        goto Found3;
                    }

                    list.Add(t1);
                    Console.WriteLine("Строка была добавлена!");
                    Console.WriteLine();
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка добавлена в таблицу!");
                    break;

                case REMOVE_RAW:


                    Console.WriteLine("Введите номер строки, которую хотите удалить");
                    int number = int.Parse(Console.ReadLine());
                    try
                    {
                        list.RemoveAt(number - 1);
                    }
                    catch (Exception e) { Console.WriteLine("Строки с таким номером нет!"); }
                    Console.WriteLine();
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка удалена!");
                    break;

                case UPDATE_RAW:
                    Console.WriteLine("Введите номер строки, которую хотите изменить");
                    int UpdateIndex = int.Parse(Console.ReadLine());
                    try
                    {
                        HRD t2 = list[UpdateIndex - 1];

                        //Выводим старые значения

                        t2.ShowTable(t2.Name, t2.Postion, t2.Yers, t2.Salary);


                        //Вводим новые значения

                        Console.WriteLine("Введите новое фамилию");
                        t2.Name = Console.ReadLine();
                        Console.WriteLine("Введите новую должность");
                        t2.Postion = Console.ReadLine();
                        Console.WriteLine("Введите новый год рождения");
Found2:
                        t2.Yers = int.Parse(Console.ReadLine());
                        try
                        {
                            int blabla2 = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                            t2.Yers = blabla2;
                            if ((blabla2 < 1895) || (blabla2 > 2030))
                            {
                                Console.WriteLine("Error. (Введите повторно)");
                                goto Found2;
                            }
                        }
                        catch (FormatException)
                        {
                            t2.Yers = 000;
                            Console.WriteLine("Error. (Введите повторно)");
                            goto Found2;
                        }
                        Console.WriteLine("Введите новый Тип");
                        Pos pro2;
Found4:
                        try
                        {
                            string blabla4 = Console.ReadLine();
                            t2.Salary = blabla4;
                            pro2      = (Pos)Enum.Parse(typeof(Pos), blabla4);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Error. (Введите повторно)");
                            pro2 = Pos.None;
                            goto Found4;
                        }
                        list[UpdateIndex - 1] = t2;
                    }
                    catch (Exception e) { Console.WriteLine("Нет строки с таким номером!"); }
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка обновлена!");
                    break;

                case FIND_RAW:
                    Console.WriteLine("Введите фамилию");
                    string text = Console.ReadLine();
                    HRD    FindRaw;
                    for (int item_list = 0; item_list < list.Count; item_list++)
                    {
                        FindRaw = list[item_list];
                        if (FindRaw.Name.ToLower().Equals(text.ToLower()))
                        {
                            Console.Write("{0,10}", FindRaw.Name);
                            Console.Write("{0,10}", FindRaw.Postion);
                            Console.Write("{0,10}", FindRaw.Yers);
                            Console.Write("{0,10}", FindRaw.Salary);
                            Console.WriteLine();
                        }
                    }
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка найдена!");
                    break;

                case SHOW_LOG:
                    Logging.Add(DateTime.Now, Operations.ADD, "Логи просмотрены!");
                    Logging.ShowInfo();
                    break;

                case EXIT:

                    StreamWriter write = new StreamWriter(@"D:\lab.dat");
                    for (int list_item = 0; list_item < list.Count; list_item++)
                    {
                        HRD t = list[list_item];
                        write.WriteLine("----------------------------------------------------------------------------");
                        write.WriteLine("{0,10} {1,10} {2,10} {3,10}", t.Name, t.Postion, t.Yers, t.Salary);
                    }

                    write.Close();
                    break;
                }
            } while (choice != 7);
        }
Exemple #18
0
 public bool EditHRD(HRD hrd)
 {
     _unitOfWork.HRDRepository.Edit(hrd);
     _unitOfWork.Save();
     return(true);
 }
Exemple #19
0
        static void Main(string[] args)
        {
            int choice = 0;

            do
            {
                var table = new List <HRD>();
                Console.WriteLine("\n Выберите пункт");
                Console.WriteLine("1 - Просмотр таблицы");
                Console.WriteLine("2 - Добавить запись");
                Console.WriteLine("3 - Удалить запись");
                Console.WriteLine("4 - Обновить запись");
                Console.WriteLine("5 - Поиск записей");
                Console.WriteLine("6 - Просмотреть лог");
                Console.WriteLine("7 - Записать в файл");
                Console.WriteLine("8 - Сортировка");
                Console.WriteLine("9 - Выход");
                choice = int.Parse(Console.ReadLine());
                string path = @"D:\lab.dat";
                switch (choice)
                {
                case WATCH_TABLE:

                    for (int list_item = 0; list_item < list.Count; list_item++)
                    {
                        HRD t = list[list_item];
                        Console.WriteLine("----------------------------------------------------------------------------");
                        t.ShowTable(t.Name, t.Postion, t.Yers, t.Salary);
                    }
                    StreamReader fstream = new StreamReader(path);
                    string       line;
                    while (!fstream.EndOfStream)
                    {
                        line = fstream.ReadLine();
                        Console.Write(line);
                    }
                    fstream.Close();
                    Logging.Add(DateTime.Now, Operations.LOOK, "Просмотрена таблица");
                    break;

                case ADD_RAW:
                    HRD t1;
                    Console.WriteLine("Введите Фамилию");
                    t1.Name = Console.ReadLine();
                    Console.WriteLine("ВведитеДолжность");
                    t1.Postion = Console.ReadLine();

Found1:
                    Console.WriteLine("Введите год рождения");
                    try
                    {
                        int blabla = Convert.ToInt32(Console.ReadLine());     //вводим данные, и конвертируем в целое число
                        t1.Yers = blabla;
                        if ((blabla < 1895) || (blabla > 2030))
                        {
                            Console.WriteLine("Error. (Введите повторно)");
                            goto Found1;
                        }
                    }
                    catch (FormatException)
                    {
                        t1.Yers = 000;
                        Console.WriteLine("Error. (Введите повторно)");
                        goto Found1;
                    }
                    Pos pro;
Found3:
                    Console.WriteLine("Введите оклад");
                    try
                    {
                        string blabla3 = Console.ReadLine();
                        t1.Salary = blabla3;
                        pro       = (Pos)Enum.Parse(typeof(Pos), blabla3);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Error. (Введите повторно)");
                        pro = Pos.None;
                        goto Found3;
                    }

                    list.Add(t1);
                    Console.WriteLine("Строка была добавлена!");
                    Console.WriteLine();
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка добавлена в таблицу!");
                    break;

                case REMOVE_RAW:
                    string       linel = String.Empty;
                    string       delet = Console.ReadLine();
                    StreamReader sr    = new StreamReader(path);
                    while (sr.Peek() >= 0)
                    {
                        String temp = sr.ReadLine();
                        if (temp.IndexOf(delet) != -1)
                        {
                        }
                        else
                        {
                            linel += temp;
                        }
                    }
                    sr.Close();
                    StreamWriter sw = new StreamWriter(path);
                    sw.Write(linel);
                    sw.Close();
                    Logging.Add(DateTime.Now, Operations.ADD, "строка удалена!");
                    break;

                case UPDATE_RAW:
                    StreamReader readf    = new StreamReader(path);
                    string       surname  = readf.ReadLine();
                    string       pos      = readf.ReadLine();
                    var          position = Pos.None;
                    if (pos == "П")
                    {
                        position = Pos.П;
                    }
                    else if (pos == "С")
                    {
                        position = Pos.С;
                    }
                    else if (pos == "А")
                    {
                        position = Pos.А;
                    }
                    int    year   = int.Parse(readf.ReadLine());
                    string salary = readf.ReadLine();
                    HRD    newWorker;
                    newWorker.Name    = surname;
                    newWorker.Postion = Convert.ToString(position);
                    newWorker.Yers    = year;
                    newWorker.Salary  = salary;
                    table.Add(newWorker);
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка обновлена!");
                    break;

                case FIND_RAW:
                    Console.WriteLine("Введите фамилию");
                    string text = Console.ReadLine();
                    HRD    FindRaw;
                    for (int item_list = 0; item_list < list.Count; item_list++)
                    {
                        FindRaw = list[item_list];
                        if (FindRaw.Name.ToLower().Equals(text.ToLower()))
                        {
                            Console.Write("{0,10}", FindRaw.Name);
                            Console.Write("{0,10}", FindRaw.Postion);
                            Console.Write("{0,10}", FindRaw.Yers);
                            Console.Write("{0,10}", FindRaw.Salary);
                            Console.WriteLine();
                        }
                    }
                    Logging.Add(DateTime.Now, Operations.ADD, "Строка найдена!");
                    break;

                case SHOW_LOG:
                    Logging.Add(DateTime.Now, Operations.ADD, "Логи просмотрены!");
                    Logging.ShowInfo();
                    break;

                case ADD_WRITE:
                    var encod = System.Text.Encoding.GetEncoding(1251);

                    //Для чтения текста из файла:
                    var    Reader = new StreamReader(path, encod);
                    String text1  = Reader.ReadToEnd();
                    String text2  = Reader.ReadToEnd();
                    Reader.Close();

                    StreamWriter write      = new StreamWriter(@"D:\lab.dat");
                    int          list_item1 = 0;
                    HRD          d          = list[list_item1];
                    write.WriteLine("{0,10} {1,10} {2,10} {3,10}", d.Name, d.Postion, d.Yers, d.Salary);
                    list_item1++;
                    write.Close();
                    //Для записи в файл:
                    var Writer = new StreamWriter(path, true, encod);
                    if (text1 != text2)
                    {
                        Writer.Write(text1);
                    }
                    Writer.Close();

                    Logging.Add(DateTime.Now, Operations.ADD, "Запись в файл");

                    break;

                case Sort:
                    for (int i = 0; i < list.Count; i++)
                    {
                        int j   = i - 1;
                        var tmp = list[i];
                        while (j >= 0 && tmp.Yers < list[j].Yers)
                        {
                            list[j + 1] = list[j];
                            j--;
                        }
                        list[j + 1] = tmp;
                    }
                    using (StreamWriter newText = new StreamWriter(path, false))
                    {
                        for (int i = 0; i < list.Count; i++)
                        {
                            newText.WriteLine("{0,10} {1,10} {2,10} {3,10}", list[i].Name, list[i].Postion, list[i].Yers, list[i].Salary);
                        }
                    }
                    Console.WriteLine("Таблица готова");
                    Logging.Add(DateTime.Now, Operations.ADD, "Сортировка");

                    break;

                case EXIT:

                    break;
                }
            } while (choice != 9);
        }