示例#1
0
    public int Execute(int jobId)
    {
        try
        {
            //string filePath1 = @"C:\test.csv";
            //string delimiter = ",";

            //string[][] output = new string[][]{
            //    new string[]{"Col 1 Row 1", "Col 2 Row 1", "Col 3 Row 1"},
            //    new string[]{"Col1 Row 2", "Col2 Row 2", "Col3 Row 2"}
            //};
            //int length = output.GetLength(0);
            //StringBuilder sb = new StringBuilder();
            //for (int index = 0; index < length; index++)
            //    sb.AppendLine(string.Join(delimiter, output[index]));

            //File.WriteAllText(filePath1, sb.ToString());

            DataTable dtPartner = ViSport_S2_Registered_UsersController.PartnerGetAll();
            if (dtPartner != null && dtPartner.Rows.Count > 0)
            {
                foreach (DataRow drPartner in dtPartner.Rows)
                {
                    int    partnerId  = ConvertUtility.ToInt32(drPartner["PartnerId"].ToString());
                    string folderName = drPartner["FolderName"].ToString();

                    //folderName = "~/Sam_Cdr"; //Forder for re push CDR

                    if (!Directory.Exists(Server.MapPath(folderName)))
                    {
                        Directory.CreateDirectory(Server.MapPath(folderName));
                    }

                    var      csv      = new StringBuilder();
                    DateTime dataDate = DateTime.Today.AddDays(-1);
                    string   filePath = Server.MapPath(folderName + "/vmg_dn_vn_" + dataDate.Year + "" + dataDate.Month + "" + dataDate.Day + ".csv");

                    csv.AppendLine("Type"
                                   + "," + "TelcoCode"
                                   + "," + "ServiceName"
                                   + "," + "ShortCode"
                                   + "," + "Msisdn"
                                   + "," + "Unique_id"
                                   + "," + "Price"
                                   + "," + "ChargedStatus"
                                   + "," + "Detail"
                                   + "," + " Created");

                    #region GPC

                    if (partnerId == 21)
                    {
                        #region CDR for SAM

                        DataTable dtGpc = ViSport_S2_Registered_UsersController.CdrGpcSam();
                        if (dtGpc != null && dtGpc.Rows.Count > 0)
                        {
                            foreach (DataRow dr in dtGpc.Rows)
                            {
                                //var contentId = !string.IsNullOrEmpty(dr["Unique_Id"].ToString()) ? dr["Unique_Id"].ToString()
                                //    : ViSport_S2_Registered_UsersController.SamGetContentId(dr["Register_Syntax"].ToString());
                                string    contentId = "";
                                DataTable dtContent = ViSport_S2_Registered_UsersController.CdrGpcSam_GetContentId_ByUserID(dr["msisdn"].ToString());
                                if (dtContent != null && dtContent.Rows.Count > 0)
                                {
                                    contentId = dtContent.Rows[0]["ContentId"].ToString();
                                }

                                //var output = "=\"" + dr["msisdn"].ToString() + "\"";
                                //var outputtime = "=\"" + dr["TimeStamp"] + "\"";
                                var output     = dr["msisdn"].ToString();
                                var outputtime = dr["TimeStamp"];
                                csv.AppendLine("SUB"
                                               + "," + "Gpc"
                                               + "," + dr["Service_Name"]
                                               + "," + dr["shortCode"]
                                               + "," + output
                                               + "," + contentId
                                               + "," + dr["cost"]
                                               + "," + "1"
                                               + "," + "Succ"
                                               + "," + outputtime);
                            }
                        }

                        #endregion
                    }
                    else
                    {
                        #region PARTNER

                        DataTable dtGpc = ViSport_S2_Registered_UsersController.CdrGpc(partnerId);
                        if (dtGpc != null && dtGpc.Rows.Count > 0)
                        {
                            foreach (DataRow dr in dtGpc.Rows)
                            {
                                string contentId = string.Empty;
                                //Type,TelcoCode,ServiceName,ShortCode,Msisdn,Unique_id,Price,ChargedStatus,Detail,Created
                                //var output = "=\"" + dr["msisdn"].ToString() + "\"";
                                //var outputtime = "=\"" + dr["TimeStamp"] + "\"";
                                var output     = dr["msisdn"].ToString();
                                var outputtime = dr["TimeStamp"];
                                csv.AppendLine("SUB"
                                               + "," + "Gpc"
                                               + "," + dr["Service_Name"]
                                               + "," + dr["shortCode"]
                                               + "," + output
                                               + "," + contentId
                                               + "," + dr["cost"]
                                               + "," + "1"
                                               + "," + "Succ"
                                               + "," + outputtime);
                            }
                        }

                        #endregion
                    }

                    #endregion

                    #region VMS

                    if (partnerId == 21)
                    {
                        #region SAM

                        DataTable dtVms = ViSport_S2_Registered_UsersController.CdrVmsSam();
                        if (dtVms != null && dtVms.Rows.Count > 0)
                        {
                            const string shortCode = "8979";
                            foreach (DataRow dr in dtVms.Rows)
                            {
                                //var contentId = !string.IsNullOrEmpty(dr["Unique_Id"].ToString()) ? dr["Unique_Id"].ToString()
                                //    : ViSport_S2_Registered_UsersController.SamGetContentId(dr["Register_Systax"].ToString());
                                string    contentId = "";
                                DataTable dtContent = ViSport_S2_Registered_UsersController.CdrGpcSam_GetContentId_ByUserID(dr["msisdn"].ToString());
                                if (dtContent != null && dtContent.Rows.Count > 0)
                                {
                                    contentId = dtContent.Rows[0]["ContentId"].ToString();
                                }
                                //var output = "=\"" + dr["msisdn"].ToString() + "\"";
                                //var outputtime = "=\"" + dr["TimeStamp"] + "\"";
                                var output     = dr["msisdn"].ToString();
                                var outputtime = dr["TimeStamp"];
                                csv.AppendLine("SUB"
                                               + "," + "Vms"
                                               + "," + dr["Service_Name"]
                                               + "," + shortCode
                                               + "," + output
                                               + "," + contentId
                                               + "," + dr["cost"]
                                               + "," + dr["ChargeResult"]
                                               + "," + " "
                                               + "," + outputtime);
                            }
                            File.WriteAllText(filePath, csv.ToString());
                        }

                        #endregion
                    }
                    else
                    {
                        #region OTHER

                        DataTable dtVms = ViSport_S2_Registered_UsersController.CdrPartnerGetServiceId(partnerId);
                        if (dtVms != null && dtVms.Rows.Count > 0)
                        {
                            foreach (DataRow drSv in dtVms.Rows)
                            {
                                string       serviceName = drSv["Service_Name"].ToString();
                                string       serviceId   = drSv["Service_Id"].ToString();
                                const string shortCode   = "8979";

                                string contentId = ViSport_S2_Registered_UsersController.SamGetContentId(drSv["Register_Syntax"].ToString());

                                DataTable dtUsers = ViSport_S2_Registered_UsersController.SamVmsGetCdrByServiceId(serviceId);
                                if (dtUsers != null && dtUsers.Rows.Count > 0)
                                {
                                    foreach (DataRow dr in dtUsers.Rows)
                                    {
                                        //Type,TelcoCode,ServiceName,ShortCode,Msisdn,Unique_id,Price,ChargedStatus,Detail,Created
                                        //var output = "=\"" + dr["msisdn"].ToString() + "\"";
                                        //var outputtime = "=\"" + dr["TimeStamp"] + "\"";
                                        var output     = dr["msisdn"].ToString();
                                        var outputtime = dr["TimeStamp"];
                                        csv.AppendLine("SUB"
                                                       + "," + "Vms"
                                                       + "," + serviceName
                                                       + "," + shortCode
                                                       + "," + output
                                                       + "," + contentId
                                                       + "," + dr["cost"]
                                                       + "," + dr["ChargeResult"]
                                                       + "," + " "
                                                       + "," + outputtime);
                                    }
                                    File.WriteAllText(filePath, csv.ToString());
                                }
                            }
                        }

                        #endregion
                    }

                    #endregion

                    #region VNM

                    DataTable dtVnm = ViSport_S2_Registered_UsersController.CdrVnm(partnerId);
                    if (dtVnm != null && dtVnm.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtVnm.Rows)
                        {
                            //string contentId = ViSport_S2_Registered_UsersController.SamGetContentId(dr["Register_Syntax"].ToString());
                            string    contentId = "";
                            DataTable dtContent = ViSport_S2_Registered_UsersController.CdrGpcSam_GetContentId_ByUserID(dr["User_Id"].ToString());
                            if (dtContent != null && dtContent.Rows.Count > 0)
                            {
                                contentId = dtContent.Rows[0]["ContentId"].ToString();
                            }
                            //var output = "=\"" + dr["User_Id"].ToString() + "\"";
                            //var outputtime = "=\"" + string.Format("{0:yyyyMMddHHmmss}", ConvertUtility.ToDateTime(dr["Charging_Time"])) + "\"";
                            var output     = dr["User_Id"].ToString();
                            var outputtime = string.Format("{0:yyyyMMddHHmmss}", ConvertUtility.ToDateTime(dr["Charging_Time"]));
                            csv.AppendLine("SUB"
                                           + "," + "Vnm"
                                           + "," + dr["Product_Name"]
                                           + "," + dr["shortCode"]
                                           + "," + output
                                           + "," + contentId
                                           + "," + dr["Charging_Price"]
                                           + "," + dr["Charging_Status"]
                                           + "," + dr["Charging_Response"].ToString().Replace(",", "-")
                                           + "," + outputtime);
                        }
                        File.WriteAllText(filePath, csv.ToString());
                    }

                    #endregion

                    #region VNM 1119

                    DataTable dtVnm1119 = ViSport_S2_Registered_UsersController.CdrVnm1119(partnerId);
                    if (dtVnm1119 != null && dtVnm1119.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtVnm1119.Rows)
                        {
                            //string contentId =ViSport_S2_Registered_UsersController.SamGetContentId(dr["SubscriptionKeyword"].ToString());
                            string    contentId = "";
                            DataTable dtContent = ViSport_S2_Registered_UsersController.CdrGpcSam_GetContentId_ByUserID(dr["User_Id"].ToString());
                            if (dtContent != null && dtContent.Rows.Count > 0)
                            {
                                contentId = dtContent.Rows[0]["ContentId"].ToString();
                            }
                            //var output = "=\"" + dr["User_Id"].ToString() + "\"";
                            //var outputtime = "=\"" + string.Format("{0:yyyyMMddHHmmss}", ConvertUtility.ToDateTime(dr["Charging_Time"])) + "\"";
                            var output     = dr["User_Id"].ToString();
                            var outputtime = string.Format("{0:yyyyMMddHHmmss}", ConvertUtility.ToDateTime(dr["Charging_Time"]));
                            csv.AppendLine("SUB"
                                           + "," + "Vnm"
                                           + "," + dr["Product_Name"]
                                           + "," + dr["shortCode"]
                                           + "," + output
                                           + "," + contentId
                                           + "," + dr["Charging_Price"]
                                           + "," + dr["Charging_Status"]
                                           + "," + dr["Charging_Response"].ToString().Replace(",", "-")
                                           + "," + outputtime);
                        }

                        File.WriteAllText(filePath, csv.ToString());
                    }

                    #endregion
                }
            }
        }
        catch (Exception ex)
        {
            _log.Error("CDR Loi lay Tap User : " + ex);
            return(0);
        }
        return(1);
    }
示例#2
0
    public int Execute(int jobID)
    {
        try
        {
            //string filePath1 = @"C:\test.csv";
            //string delimiter = ",";

            //string[][] output = new string[][]{
            //    new string[]{"Col 1 Row 1", "Col 2 Row 1", "Col 3 Row 1"},
            //    new string[]{"Col1 Row 2", "Col2 Row 2", "Col3 Row 2"}
            //};
            //int length = output.GetLength(0);
            //StringBuilder sb = new StringBuilder();
            //for (int index = 0; index < length; index++)
            //    sb.AppendLine(string.Join(delimiter, output[index]));

            //File.WriteAllText(filePath1, sb.ToString());

            DataTable dtPartner = ViSport_S2_Registered_UsersController.PartnerGetAll();
            if (dtPartner != null && dtPartner.Rows.Count > 0)
            {
                foreach (DataRow drPartner in dtPartner.Rows)
                {
                    int    partnerId  = ConvertUtility.ToInt32(drPartner["PartnerId"].ToString());
                    string folderName = drPartner["FolderName"].ToString();

                    if (!Directory.Exists(Server.MapPath(folderName)))
                    {
                        Directory.CreateDirectory(Server.MapPath(folderName));
                    }

                    var      csv      = new StringBuilder();
                    DateTime dataDate = DateTime.Today.AddDays(-1);
                    string   filePath = Server.MapPath(folderName + "/vmg_dn_vn_" + dataDate.Year + "" + dataDate.Month + "" + dataDate.Day + ".csv");

                    csv.AppendLine("Type"
                                   + "," + "TelcoCode"
                                   + "," + "ServiceName"
                                   + "," + "ShortCode"
                                   + "," + "Msisdn"
                                   + "," + "Unique_id"
                                   + "," + "Price"
                                   + "," + "ChargedStatus"
                                   + "," + "Detail"
                                   + "," + " Created");

                    #region GPC

                    DataTable dtGpc = ViSport_S2_Registered_UsersController.CdrGpc(partnerId);
                    if (dtGpc != null && dtGpc.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtGpc.Rows)
                        {
                            //Type,TelcoCode,ServiceName,ShortCode,Msisdn,Unique_id,Price,ChargedStatus,Detail,Created
                            csv.AppendLine("SUB"
                                           + "," + "Gpc"
                                           + "," + dr["Service_Name"]
                                           + "," + dr["shortCode"]
                                           + "," + dr["msisdn"]
                                           + "," + " "
                                           + "," + dr["cost"]
                                           + "," + "1"
                                           + "," + "Succ"
                                           + "," + dr["TimeStamp"]);
                        }
                    }

                    #endregion

                    #region VMS

                    DataTable dtVms = ViSport_S2_Registered_UsersController.CdrPartnerGetServiceId(partnerId);
                    if (dtVms != null && dtVms.Rows.Count > 0)
                    {
                        foreach (DataRow drSv in dtVms.Rows)
                        {
                            string       serviceName = drSv["Service_Name"].ToString();
                            string       serviceId   = drSv["Service_Id"].ToString();
                            const string shortCode   = "8979";

                            DataTable dtUsers = ViSport_S2_Registered_UsersController.SamVmsGetCdrByServiceId(serviceId);
                            if (dtUsers != null && dtUsers.Rows.Count > 0)
                            {
                                foreach (DataRow dr in dtUsers.Rows)
                                {
                                    //Type,TelcoCode,ServiceName,ShortCode,Msisdn,Unique_id,Price,ChargedStatus,Detail,Created
                                    csv.AppendLine("SUB"
                                                   + "," + "Vms"
                                                   + "," + serviceName
                                                   + "," + shortCode
                                                   + "," + dr["msisdn"]
                                                   + "," + " "
                                                   + "," + dr["cost"]
                                                   + "," + dr["ChargeResult"]
                                                   + "," + " "
                                                   + "," + dr["TimeStamp"]);
                                }
                                File.WriteAllText(filePath, csv.ToString());
                            }
                        }
                    }

                    #endregion

                    #region VNM

                    DataTable dtVnm = ViSport_S2_Registered_UsersController.CdrVnm(partnerId);
                    if (dtVnm != null && dtVnm.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtVnm.Rows)
                        {
                            csv.AppendLine("SUB"
                                           + "," + "Vnm"
                                           + "," + dr["Product_Name"]
                                           + "," + dr["shortCode"]
                                           + "," + dr["User_Id"]
                                           + "," + " "
                                           + "," + dr["Charging_Price"]
                                           + "," + dr["Charging_Status"]
                                           + "," + dr["Charging_Response"]
                                           + "," + ConvertUtility.ToDateTime(dr["Charging_Time"]));
                        }
                        File.WriteAllText(filePath, csv.ToString());
                    }

                    #endregion

                    #region VNM 1119

                    DataTable dtVnm1119 = ViSport_S2_Registered_UsersController.CdrVnm1119(partnerId);
                    if (dtVnm1119 != null && dtVnm1119.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dtVnm1119.Rows)
                        {
                            csv.AppendLine("SUB"
                                           + "," + "Vnm"
                                           + "," + dr["Product_Name"]
                                           + "," + dr["shortCode"]
                                           + "," + dr["User_Id"]
                                           + "," + " "
                                           + "," + dr["Charging_Price"]
                                           + "," + dr["Charging_Status"]
                                           + "," + dr["Charging_Response"]
                                           + "," + ConvertUtility.ToDateTime(dr["Charging_Time"]));
                        }
                        File.WriteAllText(filePath, csv.ToString());
                    }

                    #endregion
                }
            }
        }
        catch (Exception ex)
        {
            _log.Error("CDR Loi lay Tap User : " + ex);
            return(0);
        }
        return(1);
    }