public AssetViolationCountDTO GetViolationCountsByAssetCode(string assetCode) { string cubeCon = ConfigurationManager.AppSettings["AnalysisViolationConnectionString"]; AssetViolationCountDTO dto = new AssetViolationCountDTO(); var dayviolations = operationalDataContext.ViolationNotifications.Where(x => x.DateTaken.Day == DateTime.Now.Day && x.AssetCode == assetCode); if (dayviolations != null) { dto.DayCount = dayviolations.ToList().Count; } CubeDAL dal = new CubeDAL(cubeCon); dto.WeekCount = dal.GetViolationWeekCountForAsset(assetCode); dto.MonthCount = dal.GetViolationMonthCountForAsset(assetCode); dto.YearCount = dal.GetViolationYearCountForAsset(assetCode); return(dto); }
private void PrepareTemplate(ReportTemplateDTO template, AutomaticReportDiminsionDTO diminsion) { try { DateTime startDate = DateTime.Now; if (diminsion.IsStaticValue && diminsion.ExactValue != "") { startDate = new DateTime(int.Parse(diminsion.ExactValue.Substring(0, 4)), int.Parse(diminsion.ExactValue.Substring(4, 2)), int.Parse(diminsion.ExactValue.Substring(6, 2))); } else if (diminsion.RelativeValue.HasValue && diminsion.RelativeTypeId.HasValue) { if (diminsion.RelativeTypeId.Value == (int)RelativeTypesEnum.Hours) { startDate = startDate.AddHours(-1 * diminsion.RelativeValue.Value); } else if (diminsion.RelativeTypeId.Value == (int)RelativeTypesEnum.Days) { startDate = startDate.AddDays(-1 * diminsion.RelativeValue.Value); } else if (diminsion.RelativeTypeId.Value == (int)RelativeTypesEnum.Months) { startDate = startDate.AddMonths(-1 * diminsion.RelativeValue.Value); } } foreach (var item in template.TemplateParameters) { var connString = ""; connString = item.IsCube ? ConfigurationManager.AppSettings[item.ConnKeyName] : ConfigurationManager.ConnectionStrings[item.ConnKeyName].ConnectionString; if (connString != "") { var engPeriodState = ""; var arPeriodState = ""; var endDate = DateTime.Now; var count = 0; if (item.IsCube) { string mdx = ""; try { count = new CubeDAL(connString).GetAutomaticReportCounts(startDate, endDate, item.FieldName, item.CubeName, diminsion.FieldName, out mdx); } catch (Exception ex) { Utility.WriteErrorLog(ex); } Utility.WriteLog("Mdx is :" + mdx); engPeriodState = string.Format(" during the period between {0} and {1} ", startDate.ToString("yyyy-MM-dd"), endDate.ToString("yyyy-MM-dd")); arPeriodState = " في الفترة بين " + startDate.ToString("yyyy-MM-dd") + " إلى " + endDate.ToString("yyyy-MM-dd"); } else { var queryTxt = ""; if (File.Exists(item.QueryPath)) { try { queryTxt = File.ReadAllText(item.QueryPath); count = new CubeDAL(connString).GetAutomaticReportCounts(queryTxt); } catch (Exception ex) { Utility.WriteErrorLog(ex); } Utility.WriteLog("Query is :" + queryTxt); } } if (count >= 0) { if (template.EmailTextArabic != "") { template.EmailTextArabic = template.EmailTextArabic.Replace(item.ParameterText, count.ToString()) + arPeriodState; } if (template.EmailTextEnglish != "") { template.EmailTextEnglish = template.EmailTextEnglish.Replace(item.ParameterText, count.ToString()) + engPeriodState; } if (template.SMSTextArabic != "") { template.SMSTextArabic = template.SMSTextArabic.Replace(item.ParameterText, count.ToString()) + arPeriodState; } if (template.SMSTextEnglish != "") { template.SMSTextEnglish = template.SMSTextEnglish.Replace(item.ParameterText, count.ToString()) + engPeriodState; } } } } } catch (Exception ex) { Utility.WriteErrorLog(ex); } }