public void GenerateWordDocument(
     InternDetails internDetails,
     Dictionary <string, string> textParts,
     bool PractExpBulletpoints, bool ExcercisesBulletPoints)
 {
     if (internDetails.DateOfBirth > internDetails.FromDate)
     {
         MessageDialog messagedialog = new MessageDialog(UNGÜLTIGES_DATUM_TITLE, UNGÜLTIGES_GEBURTSDATUM_TEXT);
         messagedialog.ShowDialog();
         return;
     }
     if (internDetails.FromDate > internDetails.UntilDate)
     {
         MessageDialog messagedialog = new MessageDialog(UNGÜLTIGES_DATUM_TITLE, UNGÜLTIGES_ANFANGSDATUM_TEXT);
         messagedialog.ShowDialog();
         return;
     }
     try
     {
         WordDocumentManipulater.WordReplacerInterop(internDetails, textParts, PractExpBulletpoints, ExcercisesBulletPoints);
     }
     catch (FileNotFoundException)
     {
         MessageDialog message = new MessageDialog(VORLAGE_NICHT_GEFUNDEN_TITLE, VORLAGE_NICHT_GEFUNDEN_TEXT);
         message.ShowDialog();
         SavepathSerializer.Instance.SavePath = "";
         WordDocumentManipulater.WordReplacerInterop(internDetails, textParts, PractExpBulletpoints, ExcercisesBulletPoints);
     }
 }
        public void LoadInternDetails(string loadPath)
        {
            CurShowedInternDetails = InternDetails.Deserialize(loadPath);

            view.RefreshView();
            emptyFile    = false;
            savedChanges = true;
        }
Beispiel #3
0
 public MainWindowV(List <Criteria> criteriaList)
 {
     InitializeComponent();
     CriteriaList          = criteriaList;
     Presenter             = new MainWindowP(this);
     textPartSelectionList = new List <CriteriaTextSelectionV>();
     IdInternDetails.SetBasis(this);
     InternDetails = IdInternDetails.presenter.CurShowedInternDetails;
     FlpCriteriaContainer.HorizontalScroll.Enabled = false;
     FlpCriteriaContainer.VerticalScroll.Enabled   = true;
     RefreshToolStripMenu();
     ViewState = ViewState.WaitingForInput;
 }
Beispiel #4
0
        public void RefreshView()
        {
            InternDetails = IdInternDetails.presenter.CurShowedInternDetails;
            ViewState     = ViewState.IsRefreshing;
            if (textPartSelectionList != null)
            {
                foreach (CriteriaTextSelectionV ctV in textPartSelectionList)
                {
                    ctV.RefreshView();
                }
            }
            RefreshToolStripMenu();

            ViewState = ViewState.WaitingForInput;
        }
 public InternDetailsP(InternDetailsV view)
 {
     this.view = view;
     CurShowedInternDetails = new InternDetails();
 }
Beispiel #6
0
        public IActionResult UploadData(List <IFormFile> uploadedFiles, string submit)
        {
            if (ModelState.IsValid)
            {
                if (uploadedFiles.Count > 0)
                {
                    List <InternMarksDataModel> internMarksDatas = new List <InternMarksDataModel>();
                    List <InternDetails>        internDetails    = new List <InternDetails>();

                    foreach (var file in uploadedFiles)
                    {
                        if (file.FileName.EndsWith(".csv"))
                        {
                            //using var reader = new StreamReader(file.OpenReadStream());
                            using (StreamReader reader = new StreamReader(file.OpenReadStream()))
                            {
                                var lines = reader.ReadToEnd();

                                if (!lines.Equals(""))
                                {
                                    var singleLine = lines.Split("\r\n");

                                    switch (submit)
                                    {
                                    case "all":
                                        for (int i = 1; i < singleLine.Length; i++)
                                        {
                                            if (internDetails.Any(intern => intern.InternName.Equals(singleLine[i].Split(',').First())))
                                            {
                                                internDetails.Where(intern => intern.InternName.Equals(singleLine[i].Split(',').First())).First().Courses.Add(new CourseMarks
                                                {
                                                    CourseName = Path.GetFileNameWithoutExtension(file.FileName),
                                                    Percentage = singleLine[i].Split(',').Last()
                                                });
                                            }
                                            else
                                            {
                                                InternDetails intern = new InternDetails
                                                {
                                                    InternName = singleLine[i].Split(',').First(),
                                                    Email      = singleLine[i].Split(',').Skip(1).First(),
                                                    Courses    = new List <CourseMarks>
                                                    {
                                                        new CourseMarks
                                                        {
                                                            CourseName = Path.GetFileNameWithoutExtension(file.FileName),
                                                            Percentage = singleLine[i].Split(',').Last()
                                                        }
                                                    }
                                                };
                                                internDetails.Add(intern);
                                            }
                                        }
                                        break;

                                    case "individual":
                                        InternMarksDataModel internMarks = new InternMarksDataModel()
                                        {
                                            CourseName  = Path.GetFileNameWithoutExtension(file.FileName),
                                            ColumnNames = singleLine[0].Split(',').ToList()
                                        };

                                        internMarks.InternNameAndScores = new List <List <string> >();

                                        for (int i = 1; i < singleLine.Length; i++)
                                        {
                                            internMarks.InternNameAndScores.Add(singleLine[i].Split(',').ToList());
                                        }
                                        internMarksDatas.Add(internMarks);
                                        break;
                                    }
                                }
                                else
                                {
                                    ModelState.AddModelError(string.Empty, "No data found");
                                }

                                reader.Close();
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, "Wrong file format.");
                        }
                    }

                    foreach (var detail in internDetails)
                    {
                        foreach (var score in detail.Courses)
                        {
                            detail.AllOverScore += double.Parse(score.Percentage.Remove(score.Percentage.Length - 1, 1));
                        }
                        detail.AllOverScore /= detail.Courses.Count;
                    }

                    if (internDetails.Count > 0)
                    {
                        ViewData["CourseColumnCount"] = (uploadedFiles.Count) * 2;
                        return(View("index", internDetails.OrderByDescending(c => c.AllOverScore)));
                    }
                    else if (internMarksDatas.Count > 0)
                    {
                        return(View("IndividualReport", internMarksDatas));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "No file(s) chosen.");
                }
            }
            return(View("index"));
        }