public ActionResult ImportMeter(HttpPostedFileBase file, BALExportMeter model, string Command)
        {
            DALExportMeter dalExportMeter = new DALExportMeter();
            ImportMeter importMeter = new ImportMeter();
            LoginSession loginsession = (LoginSession)Session["Login"];
            try
            {
                if (Command == "Export")
                {
                    if (importMeter.ImportExcel(Convert.ToString(model.SiteID), Convert.ToString(model.SupplierID), model.Supplier, Convert.ToString(model.FrequencyID), model.Frequency, Convert.ToString(model.CategoryID), model.Category, model.FrequencyInterval))
                    {
                        string filepath = Path.Combine(Server.MapPath("~/Upload"), "MeterTemplate.xls");
                        var fileName = "MeterTemplate.xls";
                        var mimeType = "application/vnd.ms-excel";
                        return File(new FileStream(filepath, FileMode.Open), 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.Frequency = new SelectList(BAL.MeterModel.MeterReadFrequencyDropDownList(), "Value", "Text");
                        ViewBag.Category = new SelectList(BAL.MeterModel.MeterCategoryDropDownList(), "Value", "Text");
                        ViewBag.Interval = new SelectList(BAL.Common.TimeIntervalDropDownList(), "Value", "Text");
                    }
                }
                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 = dalExportMeter.getExcelColumnName(path);

                    //Get DB Table Column
                    model.ListtblColumnName = dalExportMeter.GetTableColumnName("SYCOUS.Meter");

                    Session["DBColumnNameMeter"] = model.ListtblColumnName;

                    Session["FilePathMeter"] = 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"); }

                    ViewBag.Frequency = new SelectList(BAL.MeterModel.MeterReadFrequencyDropDownList(), "Value", "Text");
                    ViewBag.Category = new SelectList(BAL.MeterModel.MeterCategoryDropDownList(), "Value", "Text");
                    ViewBag.Interval = new SelectList(BAL.Common.TimeIntervalDropDownList(), "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.Frequency = new SelectList(BAL.MeterModel.MeterReadFrequencyDropDownList(), "Value", "Text");
                ViewBag.Category = new SelectList(BAL.MeterModel.MeterCategoryDropDownList(), "Value", "Text");
                ViewBag.Interval = new SelectList(BAL.Common.TimeIntervalDropDownList(), "Value", "Text");

                ViewBag.Message = Ex.Message;
            }

            return View(model);
        }
        public JsonResult GetList(string[] stringArray)
        {
            ViewBag.IsView = true;
            DALExportMeter dalExportMeter = new DALExportMeter();
            BALExportMeter model = new BALExportMeter();

            string filepath = Convert.ToString(Session["FilePathMeter"]);
            model.ItemList = dalExportMeter.getExcelColumnName(filepath);
            List<string> MatchListOfExcel = new List<string>();
            model.ListtblColumnName = (List<string>)Session["DBColumnNameMeter"];
            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("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 = dalExportMeter.GetExcelTable(filepath, 0);

            model.dtItem = dalExportMeter.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]);
                list.Add(tblColumnObj);

            }

            return this.Json(list);
        }
        public ActionResult ImportMeter()
        {
            if (Session["Login"] != null)
            {
                BAL.Common.DeleteAllFromFolder("~/ExportFileUpload");
                LoginSession loginsession = (LoginSession)Session["Login"];
                BALExportMeter model = new BALExportMeter();
                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.Frequency = new SelectList(BAL.MeterModel.MeterReadFrequencyDropDownList(), "Value", "Text");
                ViewBag.Category = new SelectList(BAL.MeterModel.MeterCategoryDropDownList(), "Value", "Text");
                ViewBag.Interval = new SelectList(BAL.Common.TimeIntervalDropDownList(), "Value", "Text");

                return View(model);
            }
            else
            { return RedirectToAction("Index", "Home"); }
        }