public JsonResult delete_IPBill_Correction(int serid, long billno, ARIPBillDelParams IPB)
        {
            IPBillCorrectionDB _DB = new IPBillCorrectionDB();

            if (_DB.delete_ipbill_corrections(OperatorId, serid, billno, IPB))
            {
                return(Json(new { rcode = 0, rmsg = _DB.retmsg }));
            }
            else
            {
                return(Json(new { rcode = _DB.ret, rmsg = _DB.retmsg }));
            }
        }
        /* Delete IP Bill Item */

        public bool delete_ipbill_corrections(int opeid, int serid, long billno, ARIPBillDelParams IPB)
        {
            try
            {
                //spoken language
                DataTable dtIPBILL = new DataTable();
                dtIPBILL.Columns.AddRange(new[] {
                    new DataColumn("ItemId", typeof(long)),
                    new DataColumn("SLNo", typeof(long)),
                    new DataColumn("CanRe", typeof(int))
                });
                System.IO.StringWriter dt = new System.IO.StringWriter();
                if (IPB.dellistparams != null && IPB.dellistparams.Count > 0)
                {
                    var items = IPB.dellistparams.Select(i => new ARIPBillDelItemList
                    {
                        ItemId = i.ItemId,
                        SLNo   = i.SLNo,
                        CanRe  = i.CanRe
                    }).ToList();

                    foreach (var item in items)
                    {
                        DataRow newRow = dtIPBILL.NewRow();
                        newRow["ItemId"] = item.ItemId;
                        newRow["SLNo"]   = item.SLNo;
                        newRow["CanRe"]  = item.CanRe;
                        dtIPBILL.Rows.Add(newRow);
                    }
                    dtIPBILL.TableName = "DTXMLDATA";
                    dtIPBILL.WriteXml(dt);
                }


                DB.param = new SqlParameter[] {
                    new SqlParameter("@serid", serid),
                    new SqlParameter("@billno", billno),
                    new SqlParameter("@opeid", opeid),
                    new SqlParameter("@XMLDATA", dt == null ? (object)DBNull.Value : dt.ToString()),
                };

                //DB.param[75].Direction = ParameterDirection.Output;
                DB.ExecuteSPAndReturnDataTable("ARIPBILLING.delete_ipbill_item");
                // this.QResult = DB.param[75].Value.ToString();
                //this.ErrorMessage = DB.param[7].Value.ToString();
                // if (!string.IsNullOrEmpty(DB.param[7].Value.ToString()))
                //  return false;
                ret    = 0;
                retmsg = "Item Successfully Deleted!";
                return(true);
            }
            catch (Exception ex)
            {
                ret    = -1;
                retmsg = ex.Message;
                eLOG.LogError(ex);
                return(false);

                throw new ApplicationException("Error Message:</b> <br /> " + ex.Message + "<br /><br /><b>Stack Trace:</b><br /> " + ex.StackTrace);
            }
        }