using System.Data; using System.Data.Common; using System.Data.SqlClient; using Neo.Legitimate.Common; using Pilotfish.Afx.ComponentModel; using System.Linq; using System.Collections.Generic; using System.Collections.ObjectModel; using System; namespace Neo.Legitimate.LicenceUpliftmentExtensionRequest.Models { public class LicenceExtensionDatabase : Database { #region LicenceExtensionDatabase public LicenceExtensionDatabase() : base(new LicenceExtensionContext()) { } #endregion #region GetLicenceUpliftmentExtensionRequest public LicenceUpliftmentExtensionRequestDetail GetLicenceUpliftmentExtensionRequest(long licenceUpliftmentExtensionRequestDetailID, long? verifiedLicenceID, long userID) { var details = new LicenceUpliftmentExtensionRequestDetail(); if (licenceUpliftmentExtensionRequestDetailID == -1) { var existingWorkflow = Context.Vw_LicenceUpliftmentExtensionRequestDetails.Where(a => a.VerifiedLicenceID == verifiedLicenceID.Value && a.WorkflowInstanceStatusID == 1/*In Progress*/).FirstOrDefault(); if (existingWorkflow != null) { throw new Exception("A workflow has already been started for this verified licence."); } details = new LicenceUpliftmentExtensionRequestDetail() { LicenceUpliftmentExtensionRequestDetailID = licenceUpliftmentExtensionRequestDetailID, Documents = new List(), CreatedByID = userID, CreatedDate = DateTime.Now, UpdatedByID = userID, UpdatedDate = DateTime.Now, VerifiedLicenceID = verifiedLicenceID.Value }; details.Licence = (from q in Context.Licences.Include("Member") where q.LicenceID == verifiedLicenceID select q).FirstOrDefault(); } else { details = (from q in Context.LicenceUpliftmentExtensionRequestDetails.Include("Licence").Include("Licence.Member").Include("Documents").Include("Documents.DocumentType") where q.LicenceUpliftmentExtensionRequestDetailID == licenceUpliftmentExtensionRequestDetailID select q).FirstOrDefault(); } return details; } #endregion #region CheckSecurity public void CheckSecurity(long licenceUpliftmentExtensionRequestDetailID, string action, long userID) { Context.Pr_LicenceExtensionCheckSecurity(licenceUpliftmentExtensionRequestDetailID, action, userID); } #endregion } }