Ejemplo n.º 1
0
    public int Execute(int jobId)
    {
        try
        {
            int       PartnerID = 89;
            DataTable dtPartner = ViSport_S2_Registered_UsersController.PartnerInfo(PartnerID);
            if (dtPartner != null && dtPartner.Rows.Count > 0)
            {
                int SubViettel_PartnerID = ConvertUtility.ToInt32(dtPartner.Rows[0]["SubViettel_PartnerID"].ToString());
                //int partnerId = ConvertUtility.ToInt32(dtPartner.Rows[0]["PartnerId"].ToString());
                string folderName = dtPartner.Rows[0]["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
                DataTable dtGpc = ViSport_S2_Registered_UsersController.CdrGpc_ByPartnerID(PartnerID);
                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();
                        //}
                        string contentId = string.Empty;

                        csv.AppendLine("SUB"
                                       + "," + "Gpc"
                                       + "," + dr["Service_Name"]
                                       + "," + dr["shortCode"]
                                       + "," + dr["msisdn"]
                                       + "," + contentId
                                       + "," + dr["cost"]
                                       + "," + "1"
                                       + "," + "Succ"
                                       + "," + dr["TimeStamp"]);
                    }
                }

                #endregion

                #region VMS
                DataTable dtVms = ViSport_S2_Registered_UsersController.CdrVms_ByPartnerID(PartnerID);
                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();
                        //}
                        string contentId = string.Empty;
                        csv.AppendLine("SUB"
                                       + "," + "Vms"
                                       + "," + dr["Service_Name"]
                                       + "," + shortCode
                                       + "," + dr["msisdn"]
                                       + "," + contentId
                                       + "," + 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)
                    {
                        //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();
                        }
                        csv.AppendLine("SUB"
                                       + "," + "Vnm"
                                       + "," + dr["Product_Name"]
                                       + "," + dr["shortCode"]
                                       + "," + dr["User_Id"]
                                       + "," + contentId
                                       + "," + 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)
                    {
                        //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();
                        }
                        csv.AppendLine("SUB"
                                       + "," + "Vnm"
                                       + "," + dr["Product_Name"]
                                       + "," + dr["shortCode"]
                                       + "," + dr["User_Id"]
                                       + "," + contentId
                                       + "," + dr["Charging_Price"]
                                       + "," + dr["Charging_Status"]
                                       + "," + dr["Charging_Response"]
                                       + "," + ConvertUtility.ToDateTime(dr["Charging_Time"]));
                    }

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

                #endregion

                #region VIETTEL SUB 9029
                DataTable dtViettel = ViSport_S2_Registered_UsersController.CdrViettel9029(SubViettel_PartnerID);
                if (dtViettel != null && dtViettel.Rows.Count > 0)
                {
                    foreach (DataRow dr in dtViettel.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();
                        //}
                        csv.AppendLine("SUB"
                                       + "," + "Viettel"
                                       + "," + dr["Product_Name"]
                                       + "," + dr["shortCode"]
                                       + "," + dr["User_Id"]
                                       + "," + contentId
                                       + "," + dr["Charging_Price"]
                                       + "," + dr["Charging_Status"]
                                       + "," + dr["Charging_Response"]
                                       + "," + ConvertUtility.ToDateTime(dr["Charging_Time"]));
                    }
                    File.WriteAllText(filePath, csv.ToString());
                }
                #endregion
                _log.Debug("Imobi CDR - jobID :" + jobId);
            }
        }
        catch (Exception ex)
        {
            _log.Error("Imobi CDR Error : " + ex);
            return(0);
        }
        return(1);
    }