コード例 #1
0
        public PlanCalendar GetEntity(PlanCalendarModel planCalendarModel)
        {
            var monthNumber = DateTime.Parse($"1,{planCalendarModel.Month}").Month;

            var entity = new PlanCalendar()
            {
                Events = planCalendarModel.Events.Select(a => new EventCalendar()
                {
                    Day         = a.Day,
                    Leader      = a.Leader,
                    Location    = a.Location,
                    Name        = a.Name,
                    NameAllStav = a.NameAllStav,
                    NameProgram = a.NameProgram,
                    Result      = a.Result,
                    Time        = a.Time,
                    Id          = Guid.NewGuid().ToString()
                }).ToList(),
                Month = monthNumber,
                Year  = planCalendarModel.Year,
                Id    = Guid.NewGuid().ToString()
            };

            return(entity);
        }
コード例 #2
0
        private PlanCalendarModel GenerationListActivitysInCurrentMoth(IXLWorksheet worksheet)
        {
            if (new Regex(@"\d").Matches(worksheet.Name).Count != 4)
            {
                return(null);
            }

            var rows = worksheet.RangeUsed().RowsUsed(); // Skip header row

            var dataBaseParserModel = new PlanCalendarModel();

            dataBaseParserModel.Year  = GetYear(worksheet.Name);
            dataBaseParserModel.Month = GetMoth(worksheet.Name);

            for (int i = 0; i < rows.Count(); i++)
            {
                if (CheckStartingFiled(rows.ElementAt(i).Cell(1).Value))
                {
                    var countMergeColumn = rows.ElementAt(i).Cell(1).MergedRange().RowCount();
                    var date             = GenerationDayDictionary(rows, i);

                    for (int currentIndexActivity = i + countMergeColumn + 1, k = 2, programIndex = -1; currentIndexActivity < rows.Count(); currentIndexActivity++)
                    {
                        var currentActivity = rows.ElementAt(currentIndexActivity).Cell(k);

                        if (!String.IsNullOrWhiteSpace(currentActivity.Value.ToString()))
                        {
                            foreach (var element in GenerationMarksInCurrentActivity(currentIndexActivity, date, rows))
                            {
                                EventCalendarModel parserActivityModel = new EventCalendarModel();
                                parserActivityModel.Day         = element.IsExist ? element.day.ToString() : element.Text;
                                parserActivityModel.Name        = currentActivity.Value.ToString();
                                parserActivityModel.NameAllStav = GenerationData(currentActivity.Value.ToString(), currentIndexActivity, date.Last().Key + 1, rows);
                                parserActivityModel.Leader      = GenerationData(parserActivityModel.NameAllStav, currentIndexActivity, date.Last().Key + 2, rows);
                                parserActivityModel.Location    = GenerationData(parserActivityModel.Leader, currentIndexActivity, date.Last().Key + 3, rows);
                                parserActivityModel.Time        = GenerationData(parserActivityModel.Location, currentIndexActivity, date.Last().Key + 4, rows);
                                parserActivityModel.Result      = GenerationData(parserActivityModel.Time, currentIndexActivity, date.Last().Key + 5, rows);
                                parserActivityModel.NameProgram = rows.ElementAt(programIndex).Cell(1).Value.ToString();

                                dataBaseParserModel.Events.Add(parserActivityModel);
                            }
                        }
                        else
                        {
                            if (String.IsNullOrWhiteSpace(rows.ElementAt(currentIndexActivity).Cell(1).Value.ToString()))
                            {
                                break;
                            }
                            programIndex = currentIndexActivity;
                        }
                    }

                    return(dataBaseParserModel);
                }
                //break;
            }

            return(dataBaseParserModel);
        }