public ActionResult AddNewScript(PromoScript ps)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);
            try
            {
                string logI = HttpContext.User.Identity.Name;
                int    ret  = ScriptDataAccess.SaveNewScript(ps, logI.Split('\\').LastOrDefault());
                if (ret > 0)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewData["Err"] = "Script Template Already Exist!";
                }
            }
            catch (Exception ex)
            {
                ViewData["Err"] = ex.Message;
            }
            return(View(ps));
        }
        public ActionResult Index(HttpPostedFileBase file)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            string    logI = HttpContext.User.Identity.Name;
            string    errMsg;
            DataTable ret = new DataTable();
            int       proc;

            try
            {
                ret = TFNAlert(file, out errMsg);
                if (errMsg == null)
                {
                    proc = DataAccess.InsertTFNAlert(ret, logI.Split('\\').Last());
                }
                else
                {
                    ViewData["ProcessError"] = errMsg;
                    return(View());
                }
            }
            catch (Exception ex)
            {
                ViewData["ProcessError"] = ex.Message;
                return(View());
            }

            ViewData["ProcessSuccess"] = Url.Encode("TFN Succesfully Processed!");
            return(View());
        }
        public ActionResult ManageTFN()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);
            return(View());
        }
        public ActionResult UploadProducts()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);
            //IEnumerable<ProductCode> pcs = null;
            return(View());
        }
        public ActionResult Index(HttpPostedFileBase file, string MediaCompany, List <MediaAssignments> model, string Submit)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            string logI            = HttpContext.User.Identity.Name;
            List <MediaCompany> Mc = new List <MediaCompany>()
            {
                new MediaCompany {
                    id = "Havas", Name = "Havas - Launch DRTV"
                },
                new MediaCompany {
                    id = "Others", Name = "Others"
                }
            };

            if (Submit == "Upload")
            {
                string errMsg;
                List <MediaAssignments> mas = new List <MediaAssignments>();
                try
                {
                    mas = LoadMediaAssignments(file, MediaCompany, out errMsg);
                    ViewData["InvalidMedia"] = errMsg;
                }
                catch (Exception ex)
                {
                    ViewData["InvalidMedia"] = ex.Message;
                }
                //ViewBag.Employeeid = employeeid;
                ViewBag.MediaCompany = new SelectList(Mc.ToList(), "id", "Name", MediaCompany);
                return(View(mas));
            }
            else
            {
                int retval;
                foreach (MediaAssignments ma in model)
                {
                    try
                    {
                        DataAccess da = new DataAccess();
                        retval = da.InsertMediaAssignment(ma.Company, ma.Action, ma.Station, ma.CityState,
                                                          ma.PhoneNumber, ma.AirDate, ma.ProductCode, logI.Split('\\').Last());
                    }
                    catch (Exception ex)
                    {
                        ViewData["MediaAssignmentSuccess"] = ex.Message;
                        return(View());
                    }
                }
                ViewData["MediaAssignmentSuccess"] = "Media Assignments Successfully Sourced!";
                ViewBag.MediaCompany = new SelectList(Mc.ToList(), "id", "Name", MediaCompany);
                return(View());
            }
        }
        public ActionResult AddNewScript()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            ViewBag.BrandCode = new SelectList(ScriptDataAccess.GetBrands(), "BrandCode", "BrandName", "");
            return(View());
        }
        public ActionResult About()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);
            ViewBag.Message = "Your application description page.";

            return(View());
        }
        public ActionResult Index()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            IEnumerable <PromoScript> scripts = ScriptDataAccess.GetScripts().ToList();

            return(View(scripts));
        }
        // GET: ProductCode
        public ActionResult Index()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            IEnumerable <ProductCode> pc = ProductCodeDataAccess.GetProductCodes();

            return(View(pc));
        }
        public ActionResult EditProductCode(ProductCode pc)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            string logI = HttpContext.User.Identity.Name;

            ProductCodeDataAccess.UpdateProductCode(pc, logI);
            return(RedirectToAction("Index"));
        }
        public ActionResult EditProductCode(string pId)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            ProductCode Pc = ProductCodeDataAccess.GetProductCode(pId);

            ViewBag.ScriptTemplate = new SelectList(ScriptDataAccess.GetScripts(), "ScriptTemplate", "ScriptName", Pc.ScriptTemplate);
            return(View(Pc));
        }
        public ActionResult EditScript(PromoScript ps, string OldScriptCode)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);
            string logI = HttpContext.User.Identity.Name;

            try
            {
                ScriptDataAccess.UpdateScript(ps, OldScriptCode, logI.Split('\\').LastOrDefault());
            }
            catch
            {
                ViewBag.OldScriptCode = OldScriptCode;
                return(View(ps));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Index()
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            List <MediaCompany> Mc = new List <MediaCompany>()
            {
                new MediaCompany {
                    id = "Havas", Name = "Havas - Launch DRTV"
                },
                new MediaCompany {
                    id = "Others", Name = "Others"
                }
            };

            ViewBag.MediaCompany = new SelectList(Mc.ToList(), "id", "Name");
            return(View());
        }
        public ActionResult EditScript(string tId)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            PromoScript ps = new PromoScript();
            DataRow     dr = ScriptDataAccess.GetScript(tId);

            ps.ScriptTemplate     = dr["ScriptCode"].ToString();
            ps.ScriptName         = dr["ScriptName"].ToString();
            ps.BiScriptCode       = dr["BIScriptCode"].ToString();
            ps.CoreOfferSalesTax  = dr["CoreOfferSalesTax"].ToString();
            ps.CrossSalesTax      = dr["CrossSaleTax"].ToString();
            ps.Description        = dr["Description"].ToString();
            ps.BrandCode          = dr["BrandCode"].ToString();
            ViewBag.OldScriptCode = dr["ScriptCode"].ToString();
            ViewBag.BrandCode     = new SelectList(ScriptDataAccess.GetBrands(), "BrandCode", "BrandName", ps.BrandCode);
            return(View(ps));
        }
        public ActionResult UploadProducts(HttpPostedFileBase file, List <ProductCode> model, string Submit)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            string             logI   = HttpContext.User.Identity.Name;
            List <ProductCode> pcs    = new List <ProductCode>();
            List <ProductCode> RetPcs = new List <ProductCode>();
            string             err;

            if (Submit == "Upload")
            {
                try
                {
                    pcs = LoadProductCodes(file, out err);

                    if (err == null)
                    {
                        foreach (ProductCode pc in pcs)
                        {
                            bool exist = ProductCodeDataAccess.CheckIfExist(pc.PCode);
                            if (exist == false)
                            {
                                RetPcs.Add(pc);
                            }
                        }

                        //future function
                        //foreach (ProductCode pc in pcs)
                        //{
                        //    bool forUpdating = ProductCodeDataAccess.CheckIfForUpdating(pc);
                        //    if (forUpdating == true)
                        //    {
                        //        RetPcs.Add(pc);
                        //    }
                        //}
                    }
                    else
                    {
                        ViewData["Error"] = err;
                        return(View());
                    }
                }
                catch (Exception ex)
                {
                    ViewData["Error"] = ex.Message;
                    return(View());
                }
                if (RetPcs.Count() <= 0)
                {
                    ViewData["Error"] = "No New ProductCode Found!";
                }
                ViewBag.ScriptTemplate = new SelectList(ScriptDataAccess.GetScripts(), "ScriptTemplate", "ScriptName");
                return(View(RetPcs));
            }
            else
            {
                if (model != null)
                {
                    foreach (ProductCode pc in model)
                    {
                        try
                        {
                            ProductCodeDataAccess.InsertProduct(pc, logI.Split('\\').LastOrDefault());
                        }
                        catch (Exception ex)
                        {
                            ViewData["Error"]      = ex.Message;
                            ViewBag.ScriptTemplate = new SelectList(ScriptDataAccess.GetScripts(), "ScriptTemplate", "ScriptName");
                            return(View(model));
                        }
                    }
                }
                ViewData["Success"] = "Product Code Successfully uploaded!";
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult ManageTFN(HttpPostedFileBase file)
        {
            ActiveDirectoryWeb ad = new ActiveDirectoryWeb();

            string[] usr = ad.SearchActiveDirectory(HttpContext.User.Identity.Name).Split('|');
            ViewBag.IsAdmin = DataAccess.AdminAccess(usr[1]);

            string    logI = HttpContext.User.Identity.Name;
            DataTable dt   = new DataTable();

            dt.Columns.Add("TFN", typeof(string));
            dt.Columns.Add("ProductCode", typeof(string));
            dt.Columns.Add("CallingDate", typeof(string));

            if (Request.Files.Count > 0)
            {
                if (file != null && file.ContentLength > 0)
                {
                    var fName = Path.GetFileName(file.FileName);
                    var path  = Path.Combine(Server.MapPath("~/MediaFiles/"), fName);
                    file.SaveAs(path);

                    //Create COM Objects. Create a COM object for everything that is referenced
                    Microsoft.Office.Interop.Excel.Application xlApp       = new Microsoft.Office.Interop.Excel.Application();
                    Microsoft.Office.Interop.Excel.Workbook    xlWorkbook  = xlApp.Workbooks.Open(path);
                    Microsoft.Office.Interop.Excel._Worksheet  xlWorksheet = xlWorkbook.Sheets[1];
                    Microsoft.Office.Interop.Excel.Range       xlRange     = xlWorksheet.UsedRange;

                    int rowCount = xlRange.Rows.Count;
                    int colCount = xlRange.Columns.Count;

                    for (int i = 2; i <= rowCount; i++)
                    {
                        string  TFN = Convert.ToString(xlRange.Cells[i, 2].value);
                        DataRow dr  = dt.NewRow();
                        dr["TFN"]         = TFN;
                        dr["ProductCode"] = xlRange.Cells[i, 3].value;
                        dr["CallingDate"] = xlRange.Cells[i, 1].value;
                        dt.Rows.Add(dr);
                    }

                    //cleanup
                    GC.Collect();
                    GC.WaitForPendingFinalizers();

                    //rule of thumb for releasing com objects:
                    //  never use two dots, all COM objects must be referenced and released individually
                    //  ex: [somthing].[something].[something] is bad

                    //release com objects to fully kill excel process from running in the background
                    Marshal.ReleaseComObject(xlRange);
                    Marshal.ReleaseComObject(xlWorksheet);

                    //close and release
                    xlWorkbook.Close();
                    Marshal.ReleaseComObject(xlWorkbook);

                    //quit and release
                    xlApp.Quit();
                    Marshal.ReleaseComObject(xlApp);

                    DataAccess.InsertTFNAlert(dt, logI.Split('\\').Last());
                }
            }

            return(View());
        }