public bool IsWellQueryExisting(WellQuery wellQuery) { try { if (wellQuery == null) { return(false); } using (var db = new QueryBuilderEntities()) { if (db.WellQueries.Any()) { if (db.WellQueries.Count(m => m.WellTypeId == wellQuery.WellTypeId && m.CompanyId == wellQuery.CompanyId && m.FieldId == wellQuery.FieldId && (m.StartDate != null && m.StartDate.Value.Year == wellQuery.StartDate.Value.Year && wellQuery.StartDate != null) && (m.EndDate != null && m.EndDate.Value.Year == wellQuery.EndDate.Value.Year && wellQuery.EndDate != null) && m.WellClassId == wellQuery.WellClassId && m.TerrainId == wellQuery.TerrainId && m.ZoneId == wellQuery.ZoneId ) > 0) { return(true); } return(false); } return(false); } } catch (Exception ex) { ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message); return(false); } }
public ActionResult GetWells(WellQuery queryBuilder) { if (queryBuilder == null) { return(Json(new List <WellReportObject>(), JsonRequestBehavior.AllowGet)); } if (queryBuilder.WellTypeId < 1 && queryBuilder.CompanyId < 1 && ((queryBuilder.StartDate != null && queryBuilder.StartDate.Value.Year == 0001) || (queryBuilder.StartDate == null)) && ((queryBuilder.EndDate != null && queryBuilder.EndDate.Value.Year == 0001) || (queryBuilder.EndDate == null)) && queryBuilder.BlockId < 1 && queryBuilder.WellClassId < 1 && queryBuilder.FieldId < 1 && queryBuilder.TerrainId < 1 && queryBuilder.ZoneId < 1) { return(Json(new List <WellReportObject>(), JsonRequestBehavior.AllowGet)); } var wellList = new WellServices().GetOrderedWellReportObjects(queryBuilder) ?? new List <WellReportObject>(); if (!wellList.Any()) { return(Json(new List <WellReportObject>(), JsonRequestBehavior.AllowGet)); } Session["_successfulWellQuery"] = queryBuilder; var jsonResult = Json(wellList, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public long AddWellQueryCheckDuplicate(WellQuery wellQuery) { try { if (wellQuery == null) { return(-2); } using (var db = new QueryBuilderEntities()) { if (db.WellQueries.Any()) { if (db.WellQueries.Count(m => m.WellTypeId == wellQuery.WellTypeId && m.CompanyId == wellQuery.CompanyId && m.FieldId == wellQuery.FieldId && (m.StartDate != null && m.StartDate.Value.Year == wellQuery.StartDate.Value.Year && wellQuery.StartDate != null) && (m.EndDate != null && m.EndDate.Value.Year == wellQuery.EndDate.Value.Year && wellQuery.EndDate != null) && m.WellClassId == wellQuery.WellClassId && m.TerrainId == wellQuery.TerrainId && m.BlockId == wellQuery.TerrainId && m.ZoneId == wellQuery.ZoneId ) > 0) { return(-3); } if (db.WellQueries.Count(m => m.WellQueryName.ToLower().Trim().Replace(" ", "") == wellQuery.WellQueryName.ToLower().Trim().Replace(" ", "") ) > 0) { return(-4); } } var processedWellQuery = db.WellQueries.Add(wellQuery); db.SaveChanges(); return(processedWellQuery.WellQueryId); } } catch (Exception ex) { ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message); return(0); } }
public List <WellReportObject> GetOrderedWellReportObjects(WellQuery queryBuilder) { try { using (var db = new DPRDataMigrationEngineDBEntities()) { if (queryBuilder != null) { if (queryBuilder.StartDate != null && queryBuilder.StartDate.Value.Year > 0001 && ((queryBuilder.EndDate != null && queryBuilder.EndDate.Value.Year == 0001) || (queryBuilder.EndDate == null))) { var startYear = queryBuilder.StartDate.Value.Year; var startMonth = queryBuilder.StartDate.Value.Month; var query = ( from w in db.Wells.Where(x => (x.SpudDate != null && x.SpudDate.Value.Year == startYear && x.SpudDate.Value.Month == startMonth)).OrderBy(m => m.Name) join wt in db.WellTypes on w.WellTypeId equals wt.WellTypeId where ((queryBuilder.WellTypeId > 0 && queryBuilder.WellTypeId == wt.WellTypeId) || (queryBuilder.WellTypeId < 1 && w.WellTypeId == wt.WellTypeId)) join wc in db.WellClassifications on w.WellId equals wc.WellId join wcc in db.WellClasses on wc.WellClassId equals wcc.WellClassId join f in db.Fields on w.FieldId equals f.FieldId where ((queryBuilder.FieldId > 0 && queryBuilder.FieldId == f.FieldId) || (queryBuilder.FieldId < 1 && w.FieldId == f.FieldId)) join b in db.Blocks on f.BlockId equals b.BlockId where ((queryBuilder.BlockId > 0 && queryBuilder.BlockId == b.BlockId) || (queryBuilder.BlockId < 1 && f.BlockId == b.BlockId)) join c in db.Companies on f.CompanyId equals c.CompanyId where ((queryBuilder.CompanyId > 0 && queryBuilder.CompanyId == c.CompanyId) || (queryBuilder.CompanyId < 1 && f.CompanyId == c.CompanyId)) join t in db.Terrains on f.TerrainId equals t.TerrainId where ((queryBuilder.TerrainId > 0 && queryBuilder.TerrainId == t.TerrainId) || (queryBuilder.TerrainId < 1 && f.TerrainId == t.TerrainId)) join z in db.Zones on f.ZoneId equals z.ZoneId select new WellReportObject { Name = w.Name, WellId = w.WellId, SpudDate = w.SpudDate, TechnicalAllowable = w.TechnicalAllowable > 0 ? (double)w.TechnicalAllowable : 0, TotalDept = w.TotalDept > 0 ? (double)w.TotalDept : 0, Remarks = w.Remarks, ZoneName = z.Name, BlockName = b.Name, WellClassName = wcc.Name, TerrainName = t.Name, FieldName = f.Name, CompanyName = c.Name, WellTypeName = wt.Title }).ToList(); if (!query.Any()) { return(new List <WellReportObject>()); } query.ForEach(m => { if (m.SpudDate != null) { m.Date = ((DateTime)m.SpudDate).ToString("dd/MM/yyyy"); } }); return(query); } if (((queryBuilder.StartDate != null && queryBuilder.StartDate.Value.Year == 0001) || (queryBuilder.StartDate == null)) && ((queryBuilder.EndDate != null && queryBuilder.EndDate.Value.Year == 0001) || queryBuilder.EndDate == null)) { var query = ( from w in db.Wells.OrderBy(m => m.Name) join wt in db.WellTypes on w.WellTypeId equals wt.WellTypeId where ((queryBuilder.WellTypeId > 0 && queryBuilder.WellTypeId == wt.WellTypeId) || (queryBuilder.WellTypeId < 1 && w.WellTypeId == wt.WellTypeId)) join wc in db.WellClassifications on w.WellId equals wc.WellId join wcc in db.WellClasses on wc.WellClassId equals wcc.WellClassId join f in db.Fields on w.FieldId equals f.FieldId where ((queryBuilder.FieldId > 0 && queryBuilder.FieldId == f.FieldId) || (queryBuilder.FieldId < 1 && w.FieldId == f.FieldId)) join b in db.Blocks on f.BlockId equals b.BlockId where ((queryBuilder.BlockId > 0 && queryBuilder.BlockId == b.BlockId) || (queryBuilder.BlockId < 1 && f.BlockId == b.BlockId)) join c in db.Companies on f.CompanyId equals c.CompanyId where ((queryBuilder.CompanyId > 0 && queryBuilder.CompanyId == c.CompanyId) || (queryBuilder.CompanyId < 1 && f.CompanyId == c.CompanyId)) join t in db.Terrains on f.TerrainId equals t.TerrainId where ((queryBuilder.TerrainId > 0 && queryBuilder.TerrainId == t.TerrainId) || (queryBuilder.TerrainId < 1 && f.TerrainId == t.TerrainId)) join z in db.Zones on f.ZoneId equals z.ZoneId select new WellReportObject { Name = w.Name, WellId = w.WellId, SpudDate = w.SpudDate, TechnicalAllowable = w.TechnicalAllowable > 0 ? (double)w.TechnicalAllowable : 0, TotalDept = w.TotalDept > 0 ? (double)w.TotalDept : 0, Remarks = w.Remarks, ZoneName = z.Name, BlockName = b.Name, WellClassName = wcc.Name, TerrainName = t.Name, FieldName = f.Name, CompanyName = c.Name, WellTypeName = wt.Title }).ToList(); if (!query.Any()) { return(new List <WellReportObject>()); } query.ForEach(m => { if (m.SpudDate != null) { m.Date = ((DateTime)m.SpudDate).ToString("dd/MM/yyyy"); } }); return(query); } if (queryBuilder.StartDate != null && queryBuilder.StartDate.Value.Year > 0001 && queryBuilder.EndDate != null && queryBuilder.EndDate.Value.Year > 0001) { var startYear = queryBuilder.StartDate.Value.Year; var startMonth = queryBuilder.StartDate.Value.Month; var endYear = queryBuilder.EndDate.Value.Year; var endMonth = queryBuilder.EndDate.Value.Month; var query = ( from w in db.Wells.Where(x => ((x.SpudDate != null && x.SpudDate.Value.Year >= startYear && x.SpudDate.Value.Month >= startMonth) && (x.SpudDate.Value.Year <= endYear && x.SpudDate.Value.Month <= endMonth))).OrderBy(m => m.Name) join wt in db.WellTypes on w.WellTypeId equals wt.WellTypeId where ((queryBuilder.WellTypeId > 0 && queryBuilder.WellTypeId == wt.WellTypeId) || (queryBuilder.WellTypeId < 1 && w.WellTypeId == wt.WellTypeId)) join wc in db.WellClassifications on w.WellId equals wc.WellId join wcc in db.WellClasses on wc.WellClassId equals wcc.WellClassId join f in db.Fields on w.FieldId equals f.FieldId where ((queryBuilder.FieldId > 0 && queryBuilder.FieldId == f.FieldId) || (queryBuilder.FieldId < 1 && w.FieldId == f.FieldId)) join b in db.Blocks on f.BlockId equals b.BlockId where ((queryBuilder.BlockId > 0 && queryBuilder.BlockId == b.BlockId) || (queryBuilder.BlockId < 1 && f.BlockId == b.BlockId)) join c in db.Companies on f.CompanyId equals c.CompanyId where ((queryBuilder.CompanyId > 0 && queryBuilder.CompanyId == c.CompanyId) || (queryBuilder.CompanyId < 1 && f.CompanyId == c.CompanyId)) join t in db.Terrains on f.TerrainId equals t.TerrainId where ((queryBuilder.TerrainId > 0 && queryBuilder.TerrainId == t.TerrainId) || (queryBuilder.TerrainId < 1 && f.TerrainId == t.TerrainId)) join z in db.Zones on f.ZoneId equals z.ZoneId select new WellReportObject { Name = w.Name, WellId = w.WellId, SpudDate = w.SpudDate, TechnicalAllowable = w.TechnicalAllowable > 0 ? (double)w.TechnicalAllowable : 0, TotalDept = w.TotalDept > 0 ? (double)w.TotalDept : 0, Remarks = w.Remarks, ZoneName = z.Name, WellClassName = wcc.Name, TerrainName = t.Name, BlockName = b.Name, FieldName = f.Name, CompanyName = c.Name, WellTypeName = wt.Title, }).ToList(); if (!query.Any()) { return(new List <WellReportObject>()); } query.ForEach(m => { if (m.SpudDate != null) { m.Date = ((DateTime)m.SpudDate).ToString("dd/MM/yyyy"); } }); return(query); } } return(new List <WellReportObject>()); } } catch (Exception ex) { ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message); return(new List <WellReportObject>()); } }