Esempio n. 1
0
        public ActionResult Edit(int id, LicenseClauseTemplateModel model)
        {
            // Edit clause template
            _clauseTemplates.EditClauseTemplate(id, model, LoggedInUser);

            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public LicenseClauseTemplateModel GetClauseModel(int sectionId, LoggedInUserDetails user)
        {
            // Check whether user is not admin
            if (!user.IsSysAdmin)
            {
                throw new BaseException("Access denied.");
            }

            // Get section
            var section = _sections.FirstOrDefault(i => i.ID == sectionId);

            if (section == null)
            {
                throw new BaseException("Not found.");
            }

            // Setup result model
            var result = new LicenseClauseTemplateModel
            {
                Status           = TemplateStatus.Draft,
                LicenseSectionId = sectionId,
                SectionName      = section.Title,
                Version          = 1
            };

            // Return result
            return(result);
        }
Esempio n. 3
0
        public ActionResult Create(int sectionId, LicenseClauseTemplateModel model)
        {
            // Create clause template
            _clauseTemplates.CreateClauseTemplate(sectionId, model, LoggedInUser);

            // Return result
            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
        public ActionResult Edit(int id)
        {
            // Get clause model
            LicenseClauseTemplateModel model = _clauseTemplates.GetClauseForEdit(id, LoggedInUser);

            // Setup back navigation
            ViewBag.PreviousUrl = Url.Action("Index", "LicenseClauses");
            return(View(model));
        }
Esempio n. 5
0
        public ActionResult Create(int sectionId)
        {
            LicenseClauseTemplateModel model = _clauseTemplates.GetClauseModel(sectionId, LoggedInUser);

            // Setup back url
            ViewBag.PreviousUrl = Url.Action("Index", "LicenseClauses");

            // Return result
            return(View(model));
        }
Esempio n. 6
0
        public void CreateClauseTemplate(int sectionId, LicenseClauseTemplateModel model, LoggedInUserDetails user)
        {
            // Check whether user is not admin
            if (!user.IsSysAdmin)
            {
                throw new BaseException("Access denied.");
            }

            // Get clauses for section
            var clauses = _clauses.Where(p => p.LicenseSectionID == sectionId).ToList();

            // Setup available order position
            var lastOrderNumber = 0;

            if (clauses.Any())
            {
                lastOrderNumber = clauses.Max(p => p.OrderNumber);
            }

            // Setup license clause
            var licenseClause = new LicenseClause
            {
                LicenseSectionID = model.LicenseSectionId,
                CreatedAt        = GetDate,
                CreatedBy        = user.ID.Value,
                OrderNumber      = lastOrderNumber + 1
            };

            // Save license clause
            _clauses.Add(licenseClause);

            // Setup clause template
            var clauseTemplate = new LicenseClauseTemplate
            {
                CreatedAt       = GetDate,
                CreatedBy       = user.ID.Value,
                Description     = model.Description,
                LegalText       = model.LegalText,
                LicenseClauseID = licenseClause.ID,
                ClauseType      = (int)GetTypeForClause(model.LegalText),
                ShortText       = model.ShortText,
                Status          = (int)TemplateStatus.Draft,
                Version         = 1
            };

            // Save clause template
            _clauseTemplates.Add(clauseTemplate);
        }
        public static LicenseClauseTemplateModel ToModel(this LicenseClauseTemplate model)
        {
            // Setup result
            var result = new LicenseClauseTemplateModel();

            result.ID          = model.ID;
            result.ShortText   = model.ShortText;
            result.Description = model.Description;
            result.LegalText   = model.LegalText;
            result.Version     = model.Version;
            result.Status      = (TemplateStatus)model.Status;
            result.CreatedAt   = model.CreatedAt;
            result.UpdatedAt   = model.UpdatedAt;

            // Return result
            return(result);
        }
Esempio n. 8
0
        public void EditClauseTemplate(int id, LicenseClauseTemplateModel model, LoggedInUserDetails user)
        {
            // Check whether user is admin
            if (!user.IsSysAdmin)
            {
                throw new BaseException("Access denied.");
            }

            // Get clause template
            var clauseTemplate = _clauseTemplates.FirstOrDefault(i => i.ID == id);

            // Chekc whether clause is active
            if (clauseTemplate.Status == (int)TemplateStatus.Active)
            {
                throw new BaseException("You can't edit active clause template.");
            }

            // Check whether clause is not in draft status
            if (!model.IsDraft)
            {
                throw new BaseException("Unable to edit not draft clause");
            }

            // Setup update details
            clauseTemplate.UpdatedAt = GetDate;
            clauseTemplate.UpdatedBy = user.ID;
            var type = GetTypeForClause(model.LegalText);

            clauseTemplate.ClauseType  = (int)type;
            clauseTemplate.LegalText   = model.LegalText;
            clauseTemplate.ShortText   = model.ShortText;
            clauseTemplate.Description = model.Description;

            // Save changes
            _clauseTemplates.Update(clauseTemplate);
        }