public JsonResult GetList(string[] stringArray)
        {
            ViewBag.IsView = true;
            DALExportConsumer DALExportConsumer = new DALExportConsumer();
            BALExportProperty model = new BALExportProperty();
            string filepath = Convert.ToString(Session["FilePathConsumer"]);
            model.ItemList = DALExportConsumer.getExcelColumnName(filepath);
            List<string> MatchListOfExcel = new List<string>();
            model.ListtblColumnName = (List<string>)Session["DBColumnNameConsumer"];
            List<tblColumn> list = new List<tblColumn>();

            MatchListOfExcel.Add("ClientId");
            MatchListOfExcel.Add("Client");
            MatchListOfExcel.Add("NetworkId");
            MatchListOfExcel.Add("Network");
            MatchListOfExcel.Add("PropertyId");
            MatchListOfExcel.Add("Property Address");
            MatchListOfExcel.Add("OwnerId");
            MatchListOfExcel.Add("Owner Name");

            foreach (var item in stringArray)
            {
                MatchListOfExcel.Add(item);
            }

            DataTable dt = DALExportConsumer.GetExcelTable(filepath, 0);

            model.dtItem = DALExportConsumer.ExportView(dt, MatchListOfExcel.ToArray(), model.ListtblColumnName.ToArray(), filepath);

            foreach (DataRow row in model.dtItem.Rows)
            {
                tblColumn tblColumnObj = new tblColumn();
                tblColumnObj.col1 = Convert.ToString(row[0]);
                tblColumnObj.col2 = Convert.ToString(row[1]);
                tblColumnObj.col3 = Convert.ToString(row[2]);
                tblColumnObj.col4 = Convert.ToString(row[3]);
                tblColumnObj.col5 = Convert.ToString(row[4]);
                tblColumnObj.col6 = Convert.ToString(row[5]);
                tblColumnObj.col7 = Convert.ToString(row[6]);
                tblColumnObj.col8 = Convert.ToString(row[7]);
                tblColumnObj.col9 = Convert.ToString(row[8]);
                tblColumnObj.col10 = Convert.ToString(row[9]);
                tblColumnObj.col11 = Convert.ToString(row[10]);
                tblColumnObj.col12 = Convert.ToString(row[11]);
                tblColumnObj.col13 = Convert.ToString(row[12]);
                tblColumnObj.col14 = Convert.ToString(row[13]);
                tblColumnObj.col15 = Convert.ToString(row[14]);
                tblColumnObj.col16 = Convert.ToString(row[15]);
                tblColumnObj.col17 = Convert.ToString(row[16]);
                tblColumnObj.col18 = Convert.ToString(row[17]);
                tblColumnObj.col19 = Convert.ToString(row[18]);
                tblColumnObj.col20 = Convert.ToString(row[19]);
                tblColumnObj.col21 = Convert.ToString(row[20]);
                tblColumnObj.col22 = Convert.ToString(row[21]);
                tblColumnObj.col23 = Convert.ToString(row[22]);
                tblColumnObj.col24 = Convert.ToString(row[23]);
                list.Add(tblColumnObj);

            }

            return this.Json(list);
        }
        public string Save(string[] stringArray)
        {
            try
            {

                DALExportConsumer dalExportConsumer = new DALExportConsumer();
                BALExportProperty model = new BALExportProperty();
                string filepath = Convert.ToString(Session["FilePathMeter"]);
                model.ItemList = dalExportConsumer.getExcelColumnName(filepath);
                ViewBag.IsView = true;

                List<string> MatchListOfExcel = new List<string>();

                model.ListtblColumnName = (List<string>)Session["DBColumnNameMeter"];

                MatchListOfExcel.Add("ClientId");
                MatchListOfExcel.Add("Client");
                MatchListOfExcel.Add("NetworkId");
                MatchListOfExcel.Add("Network");
                MatchListOfExcel.Add("PropertyId");
                MatchListOfExcel.Add("Property Address");
                MatchListOfExcel.Add("SupplyTypeId");
                MatchListOfExcel.Add("Supply Type");
                MatchListOfExcel.Add("ReadFrequencyId");
                MatchListOfExcel.Add("Read Frequency");
                MatchListOfExcel.Add("MeterCategoryId");
                MatchListOfExcel.Add("Meter Category");
                MatchListOfExcel.Add("Reading Interval");

                foreach (var item in stringArray)
                {
                    MatchListOfExcel.Add(item);
                }

                DataTable dt = dalExportConsumer.GetExcelTable(filepath, 0);

                model.dtItem = dalExportConsumer.ExportView(dt, MatchListOfExcel.ToArray(), model.ListtblColumnName.ToArray(), filepath);

                LoginSession loginsession = (LoginSession)Session["Login"];
                dalExportConsumer.AddCreatedById(model.dtItem, loginsession.ClientID);
                SqlParameterMeter sqlParameterMeter = new SqlParameterMeter();
                sqlParameterMeter.ExecuteExportData(model.dtItem);

                return "Import Data Sucessfully.";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
        public ActionResult ImportConsumer(HttpPostedFileBase file, BALExportConsumer model, string Command)
        {
            DALExportConsumer dalExportConsumer = new DALExportConsumer();
            ImportConsumer importConsumer =new ImportConsumer();
            LoginSession loginsession = (LoginSession)Session["Login"];
            try
            {
                if (Command == "Export")
                {
                    if (importConsumer.ImportExcel(Convert.ToString(model.SiteID)))
                    {
                        string filepath = Path.Combine(Server.MapPath("~/Upload"), "ConsumerTemplate.xlsx");
                        var fileName = "ConsumerTemplate.xlsx";
                        var mimeType = "application/vnd.ms-excel";
                        return File(new FileStream(filepath, FileMode.OpenOrCreate), mimeType, fileName);
                    }
                    else
                    {
                        if (loginsession.ClientID != null)
                        {
                            ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(loginsession.ClientID), "Value", "Text");
                        }
                        else
                        { ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(), "Value", "Text"); }

                        //ViewBag.Message = "Record is Empty";
                    }
                }
                else if (Command == "Submit")
                {
                    ViewBag.Isload = true;
                    string extension = Path.GetExtension(file.FileName);
                    fileName = string.Format(@"{0}." + extension, Guid.NewGuid());
                    var path = Path.Combine(Server.MapPath("~/ExportFileUpload"), fileName);
                    file.SaveAs(path);

                    //Get Excel Column
                    model.ItemList = dalExportConsumer.getExcelColumnName(path);

                    //Get DB Table Column
                    model.ListtblColumnName = dalExportConsumer.GetTableColumnName("SYCOUS.Consumer");

                    Session["DBColumnNameConsumer"] = model.ListtblColumnName;

                    Session["FilePathConsumer"] = Path.Combine(Server.MapPath("~/ExportFileUpload"), fileName);

                    if (loginsession.ClientID != null)
                    {
                        ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(loginsession.ClientID), "Value", "Text");
                    }
                    else
                    { ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(), "Value", "Text"); }

                }

            }
            catch (Exception Ex)
            {
                ViewBag.Isload = false;

                if (loginsession.ClientID != null)
                {
                    ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(loginsession.ClientID), "Value", "Text");
                }
                else
                { ViewBag.Client = new SelectList(BAL.ClientModel.ClientDropDownList(), "Value", "Text"); }

                ViewBag.Message = Ex.Message;
            }

            return View(model);
        }