using System.Data; using Neo.Afx.ComponentModel; using System.Linq; using System.Collections.Generic; using System; namespace Neo.LegitimateLicences.NewRouteRequest.Models.Database { public class NewRouteDatabase : Database { #region GetNewRouteRequestView public Vw_NewRouteRequestDetail GetNewRouteRequestView(long newRouteRequestDetailID, long userID) { var details = (from q in Context.Vw_NewRouteRequestDetails where q.NewRouteRequestDetailID == newRouteRequestDetailID select q).FirstOrDefault(); return details; } #endregion #region NewRouteDatabase public NewRouteDatabase() : base(new NewRouteContext()) { } #endregion #region GetNewRouteRequestForm public NewRouteRequestDetail GetNewRouteRequestForm(long NewRouteRequestDetailId, long userID) { if (NewRouteRequestDetailId == -1) { return new NewRouteRequestDetail() { NewRouteRequestDetailID = NewRouteRequestDetailId, Nodes = new List(), CreatedByID = userID, CreatedDate = DateTime.Now, UpdatedByID = userID, UpdatedDate = DateTime.Now, NewRouteRequestTypeID = (short)Common.RouteRequestTypeEnum.New }; } var details = (from q in Context.NewRouteRequestDetails where q.NewRouteRequestDetailID == NewRouteRequestDetailId select q).FirstOrDefault(); if (details != null) { details.Nodes = Context.NewRouteRouteNodes.Where(a => a.NewRouteRequestDetailID == NewRouteRequestDetailId).OrderBy(a => a.Sequence).ToList(); ////var routeDetails = Context.ApplicationRouteDetails.Where(a => a.NewRouteRequestDetailID == NewRouteRequestDetailId).ToList(); ////if (routeDetails.Count() > 0) ////{ //// var applicationList = new List(); //// foreach (var r in routeDetails) //// { //// applicationList.Add(r.ApplicationRequestDetailID); //// } //// details.RelatedApplicationRequests = Context.Vw_ApplicationRequestDetails.Where(a => applicationList.Contains(a.ApplicationRequestDetailID)).ToList(); ////} if (details.VerifiedRouteID.HasValue) { details.LinkedOperatingLicences = Context.Pr_RouteLinkedLicences(details.VerifiedRouteID.Value, userID).ToList(); } else { details.LinkedOperatingLicences = new List(); } } return details; } #endregion #region FindCurrentRequestsForOrigin public List FindCurrentRequestsForOrigin(long originPlaceID, long destinationPlaceID, long userID) { return Context.Pr_NewRouteRequest_ExistingRoutesSearch(originPlaceID, destinationPlaceID, userID).ToList(); } #endregion #region FindCurrentRoutesForOrigin public List FindCurrentRoutesForOrigin(long originPlaceID, long destinationPlaceID, long userID) { return Context.Pr_NewRouteRequest_ExistingRoutesSearch(originPlaceID, destinationPlaceID, userID).ToList(); } #endregion #region CreateNewRouteRequest public Vw_NewRouteRequestDetail CreateNewRouteRequest(long originPlaceID, long destinationPlaceID, short routeProvinceID, long userID) { return Context.Pr_NewRouteRequestCreate(originPlaceID, destinationPlaceID, null, routeProvinceID, userID).FirstOrDefault(); } #endregion #region GetNewRouteWorkflowStatusSummary public List GetNewRouteWorkflowStatusSummary(long newRouteRequestDetailId, long userID) { return Context.Pr_Dashboard_NewRouteWorkflowStatusGet(newRouteRequestDetailId, userID).ToList(); } #endregion #region GetNewRouteRequestApplications public List GetNewRouteRequestApplications(long newRouteRequestDetailId, long userID) { return Context.Pr_NewRouteRequestApplicationsGet(newRouteRequestDetailId, userID).OrderByDescending(routeRequest=> routeRequest.CreatedDate).ToList(); } #endregion #region GetNewRouteRequestLicences public List GetNewRouteRequestLicences(long newRouteRequestDetailId, long userID) { return Context.Pr_NewRouteRequestLicencesGet(newRouteRequestDetailId, userID).OrderByDescending(routeRequest => routeRequest.DateOfIssue).ToList(); } #endregion } }