Git Repository Public Repository

CPE_learningsite

URLs

Copy to Clipboard

This repository has no backups
This repository's network speed is throttled to 100KB/sec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CPE.App.Web.Elucidat;
using CPE.App.Web.Helpers;
using CPE.App.Web.Models;
using CPE.App.Web.Code;


namespace CPE.App.Api.Helpers
{
    public class ReleaseDetailHelper
    {
        public static bool GetReleaseDescriptionDetails(ReleaseModel release) {
            try
            {
                var description = release.Description;
                string[] fields = new string[1];
                if (description != null)
                {
                    fields = description.Split('|');
                }
                var releaseCode = release.ReleaseCode;

                string presenter = fields.Where(p => p.Contains("Presenter")).FirstOrDefault();
                presenter = presenter.Substring(presenter.IndexOf('=') + 1);
                string fos = fields.Where(f => f.Contains("FOS") || f.Contains("Field of Study")).FirstOrDefault();
                fos = fos.Substring(fos.IndexOf('=') + 1);
                string credits = fields.Where(c => c.Contains("Credits")).FirstOrDefault();
                credits = credits.Substring(credits.IndexOf('=') + 1);

                if (String.IsNullOrEmpty(presenter) || String.IsNullOrEmpty(fos) || String.IsNullOrEmpty(credits))
                {
                    return false;
                }
                var course = BaseController.Database.CourseDetails.FirstOrDefault(c => c.ReleaseCode == releaseCode);
                if (course == null)
                {
                    course = new CourseDetail
                    {
                        ProjectCode = release.Project.ProjectCode,
                        ReleaseCode = releaseCode,
                        Presenter = presenter,
                        Fos = fos,
                        Credits = credits,
                        CreatedDate = release.Created,
                        Name = release.Project.Name
                    };
                    BaseController.Database.CourseDetails.InsertOnSubmit(course);
                }
                else
                {
                    course.Presenter = !String.IsNullOrEmpty(presenter)? presenter : "";
                    course.Fos = !String.IsNullOrEmpty(fos)? fos : "";
                    course.Credits = !String.IsNullOrEmpty(credits)? credits: "";
                    course.Name = release.Project.Name;
                }
                BaseController.Database.SubmitChanges();

                return true;
            }
            catch (Exception exception)
            {
                Utilities.LogWrapper.Error("[ReleaseDetailHelper][GetReleaseDescriptionDetails] {0} release.ReleaseCode={1} release.Description={2} exception={3}", DateTime.UtcNow.ToString("yyyyMMdd_HHmmss"), release.ReleaseCode, release.Description, exception.ToString());

                return false;
            }
        }
    }
}

Commits for CPE_learningsite/CPE/CPE.App/CPE.App.Api/Helpers/ReleaseDetailHelper.cs

Diff revisions: vs.
Revision Author Commited Message
4cd176 ... v.shishlov Fri 27 Aug, 2021 14:33:17 +0000

initial commit