Ejemplo n.º 1
0
    static void Main()
    {
        var folder = @"C:\VS\VoiceServicesAnalysis\VoiceServicesAnalysisUX\src\assets\json\";
        // var start = new DateTime(2017, 10, 1, 0, 0, 0);
        var start = new DateTime(2018, 9, 28, 0, 0, 0);
        var end   = new DateTime(2018, 9, 28, 23, 59, 59);

        Console.WriteLine("Starting @ " + DateTime.Now.ToString());
        var alloffices = GenerateOffices();

        var programs = alloffices.GroupBy(x => x.Program);

        foreach (var p in programs)
        {
            var pr = new ProgramReport();

            Console.WriteLine("Starting program " + p.Key + " @ " + DateTime.Now.ToString());
            var offices = alloffices.Where(x => x.Program == p.Key);

            var summaries = new List <ConcurrentSummary>();

            foreach (var o in offices)
            {
                var or = new OfficeReport();

                Console.WriteLine("Starting office " + o.Name + " @ " + DateTime.Now.ToString());
                summaries.Add(GenerateSummary(o.Program, o.Name, start, end, GetIntervals(start, end, 60), GetCalls(o.Wildcards, start, end)));
                Console.WriteLine("Finished office " + o.Name + " @ " + DateTime.Now.ToString());
            }

            var ms  = new MemoryStream();
            var ser = new DataContractJsonSerializer(typeof(List <ConcurrentSummary>));
            ser.WriteObject(ms, summaries);
            var json = ms.ToArray();
            ms.Close();

            var filename = folder + p.Key.ToLower()
                           .Replace(" ", "")
                           .Replace(".", "")
                           + ".json";

            var contents = Encoding.UTF8.GetString(json, 0, json.Length);

            if (!File.Exists(filename))
            {
                File.WriteAllLines(filename, new string[] { "{" });
                File.AppendAllLines(filename, new string[] { "\"program\": \"" + p.Key + "\"," });
                File.AppendAllLines(filename, new string[] { "\"start\": \"" + start.ToString() + "\"," });
                File.AppendAllLines(filename, new string[] { "\"end\": \"" + end.ToString() + "\"," });
                File.AppendAllLines(filename, new string[] { "\"summaries\": " });

                File.AppendAllLines(filename, new string[] { contents });

                File.AppendAllLines(filename, new string[] { "}" });
            }
            Console.WriteLine("Finished program " + p.Key + " @ " + DateTime.Now.ToString());
        }
        Console.WriteLine("Finished @ " + DateTime.Now.ToString());
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string id = string.Format("Id: {0} Uri: {1}", Guid.NewGuid(), HttpContext.Current.Request.Url);

        using (Utils utility = new Utils())
        {
            utility.MethodStart(id, System.Reflection.MethodBase.GetCurrentMethod());
        }
        try
        {
            OfficeReport report = new OfficeReport();
            DatabaseConfig.ConnectionString = ConfigurationManager.AppSettings["Connection_String"].ToString();// "Data Source=SERVER\\SQLEXPRESS2008;Initial Catalog=BillingSystemGreenBillsPrepod;User ID=tusharb;password=tusharb";
            //collect parameters
            report.OfficeId  = Request.QueryString["ofcid"];
            report.CompanyId = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID;
            report.User      = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME;
            report.StartDate = DateTime.Parse("Jan 1, " + DateTime.Now.Year);
            report.EndDate   = DateTime.Now;
            byte[] PdfReport = report.RenderReport();
            if (report.Rendering == true)
            {
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.ContentType = "application/pdf";
                Response.AddHeader("Content-length", PdfReport.Length.ToString());
                Response.AppendHeader("Content-Disposition", "inline;filename=" + report.Status);
                Response.OutputStream.Write(PdfReport, 0, PdfReport.Length);
                Response.OutputStream.Flush();
                Response.OutputStream.Close();
                //Response.End();
                PdfReport = null;
                report    = null;
            }
            else
            {
                throw new Exception(report.Status);
            }
        }
        catch (Exception ex)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            using (Utils utility = new Utils())
            {
                utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
            }
            string str2 = "Error Request=" + id + ".Please share with Technical support.";
            base.Response.Redirect("../Bill_Sys_ErrorPage.aspx?ErrMsg=" + str2);
        }

        //Method End
        using (Utils utility = new Utils())
        {
            utility.MethodEnd(id, System.Reflection.MethodBase.GetCurrentMethod());
        }
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         OfficeReport report = new OfficeReport();
         DatabaseConfig.ConnectionString = ConfigurationManager.AppSettings["Connection_String"].ToString();// "Data Source=SERVER\\SQLEXPRESS2008;Initial Catalog=BillingSystemGreenBillsPrepod;User ID=tusharb;password=tusharb";
         //collect parameters
         report.OfficeId  = Request.QueryString["ofcid"];
         report.CompanyId = ((Bill_Sys_BillingCompanyObject)Session["BILLING_COMPANY_OBJECT"]).SZ_COMPANY_ID;
         report.User      = ((Bill_Sys_UserObject)Session["USER_OBJECT"]).SZ_USER_NAME;
         report.StartDate = DateTime.Parse(Session["ReportFromDate"].ToString());
         report.EndDate   = DateTime.Parse(Session["ReportToDate"].ToString());
         byte[] PdfReport = report.RenderReport();
         if (report.Rendering == true)
         {
             Response.Clear();
             Response.ClearContent();
             Response.ClearHeaders();
             Response.ContentType = "application/pdf";
             Response.AddHeader("Content-length", PdfReport.Length.ToString());
             Response.AppendHeader("Content-Disposition", "inline;filename=" + report.Status);
             Response.OutputStream.Write(PdfReport, 0, PdfReport.Length);
             Response.OutputStream.Flush();
             Response.OutputStream.Close();
             Response.End();
             PdfReport = null;
             report    = null;
         }
         else
         {
             throw new Exception(report.Status);
         }
     }
     catch (Exception ex)
     {
         Response.Write(ex.Message);
     }
 }