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); }
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); }