CookieManager 的摘要说明
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
      if(filterContext == null)
      {
        throw new ArgumentNullException("filterContext");
      }

      var cookies = new CookieManager(filterContext);
      var users = new UserManager(new DataManager(filterContext.HttpContext));

      // only check when we actually have users
      if(users.GetUserCount() > 0)
      {
        User user = users.GetUser(cookies.GetUserToken());

        if(user == null)
        {
          filterContext.Result = new HttpUnauthorizedResult("U heeft geen toegang.");
        }
        else
        {
          if(!string.IsNullOrEmpty(Role))
          {
            var prop = user.GetType().GetProperty(Role);
            if(prop != null && !((bool)prop.GetValue(user)))
            {
              filterContext.Result = new HttpUnauthorizedResult("U heeft geen toegang.");
            }
          }
        }
      }
    }
 string GetUserName()
 {
     CookieManager cm = new CookieManager();
     if (null != Request.Cookies["UserName"])
     {
         //return Request.Cookies["UserName"].ToString();
         return cm.GetCookieValue("UserName");
     }
     else
     {
         return "";
     }
 }
示例#3
0
        public ActionResult WorkSession(string sessionUrl)
        {
            _cookieManager = new CookieManager(this.HttpContext);

            Session["sessionurl"] = sessionUrl;

            if (_sessionService.GetByUrl(sessionUrl) == null)
                return NewSession();

            var model = new HomeModel {IsFirstEnter = _cookieManager.IsUserFirstTimeEnter(), SessionUrl = sessionUrl};
            _cookieManager.SaveUserSessionUrl(sessionUrl);

            return View(model);
        }
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
      Data = new DataManager(filterContext.HttpContext);
      Mailer = new SiteMailer();
      Mailer.EmailLogoPath = filterContext.HttpContext.Server.MapPath("~/email-logo.png");
      Cookies = new CookieManager(this);
      Users = new UserManager(Data);

      base.OnActionExecuting(filterContext);

      if(filterContext.HttpContext.Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase)
        && !filterContext.HttpContext.Request.IsSecureConnection && Cookies.UseHttps())
      {
        string url = Environment.GetAbsoluteDomain(true) + filterContext.HttpContext.Request.RawUrl;
        filterContext.Result = new RedirectResult(url);
      }
      else
      {
        UserToken token = Cookies.GetUserToken();
        User user = Users.GetUser(token);
        ViewBag.CurrentUser = CurrentUser = user;

        /* Set user context for API calls */
        if(CurrentUser == null)
        {
          var apiToken = new HeaderManager().GetApiToken(Request.Headers);
          ViewBag.CurrentUser = CurrentUser = Users.GetApiUser(apiToken);
        }

        ViewBag.Message = Cookies.GetMessage();
        Cookies.ClearMessage();

        if(CurrentUser == null || !CurrentUser.EnableProfiler)
        {
          MiniProfiler.Stop(true);
        }
        else
        {
          ViewBag.IncludeProfiler = true;
        }
      }
    }
示例#5
0
        public ActionResult Index()
        {
            _cookieManager = new CookieManager(this.HttpContext);

            string sessionUrl;

            if (Session["sessionurl"] != null)
            {
                sessionUrl = Session["sessionurl"] as string;

            }
            else
            {
                var sessionFromCookie = _cookieManager.LoadSessionUrl();
                if (string.IsNullOrWhiteSpace(sessionFromCookie))
                    return NewSession();
                else
                    sessionUrl = sessionFromCookie;
            }

            return RedirectToAction("WorkSession", new { sessionUrl });
        }
        /// <summary>
        ///     Process a range of ImageID after crawling.  Useful if crawled Images were not processed at crawl time according to desired ApplicationSettings configuration.
        ///     Calling this method DOES change the 'LastDiscovered' fields where applicable.
        ///     This method is not when crawling, rather during post-processing.
        /// </summary>
        /// <param name = "imageIDLowerBound"></param>
        /// <param name = "imageIDUpperBound"></param>
        public static void ProcessImages(Crawler <TArachnodeDAO> crawler, long imageIDLowerBound, long imageIDUpperBound)
        {
            //do not assign the application settings.  doing so will override the ApplicationSetting you set before calling this method...
            TArachnodeDAO arachnodeDAO = (TArachnodeDAO)Activator.CreateInstance(typeof(TArachnodeDAO), crawler.ApplicationSettings.ConnectionString, crawler.ApplicationSettings, crawler.WebSettings, false, false);

            ConsoleManager <TArachnodeDAO> consoleManager = new ConsoleManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings);
            ActionManager <TArachnodeDAO>  actionManager  = new ActionManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, consoleManager);
            CookieManager cookieManager = new CookieManager();;
            MemoryManager <TArachnodeDAO>      memoryManager      = new MemoryManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings);
            RuleManager <TArachnodeDAO>        ruleManager        = new RuleManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, consoleManager);
            CacheManager <TArachnodeDAO>       cacheManager       = new CacheManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings);
            CrawlerPeerManager <TArachnodeDAO> crawlerPeerManager = new CrawlerPeerManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, null, arachnodeDAO);
            Cache <TArachnodeDAO>            cache            = new Cache <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, crawler, actionManager, cacheManager, crawlerPeerManager, memoryManager, ruleManager);
            DiscoveryManager <TArachnodeDAO> discoveryManager = new DiscoveryManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, cache, actionManager, cacheManager, memoryManager, ruleManager);

            //load the CrawlActions, CrawlRules and EngineActions...
            ruleManager.ProcessCrawlRules(crawler);
            actionManager.ProcessCrawlActions(crawler);
            actionManager.ProcessEngineActions(crawler);

            //these three methods are called in the Engine.
            UserDefinedFunctions.RefreshAllowedExtensions(true);
            UserDefinedFunctions.RefreshAllowedSchemes(true);
            UserDefinedFunctions.RefreshDisallowed();

            //instantiate a WebClient to access the ResponseHeaders...
            WebClient <TArachnodeDAO> webClient = new WebClient <TArachnodeDAO>(crawler.ApplicationSettings, arachnodeDAO.WebSettings, consoleManager, cookieManager, new ProxyManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, consoleManager));

            webClient.GetHttpWebResponse("http://google.com", "GET", null, null, null, null);

            ImageManager <TArachnodeDAO> imageManager = new ImageManager <TArachnodeDAO>(crawler.ApplicationSettings, crawler.WebSettings, discoveryManager, arachnodeDAO);

            for (long i = imageIDLowerBound; i <= imageIDUpperBound; i++)
            {
                ArachnodeDataSet.ImagesRow imagesRow = null;

                try
                {
                    //get the Image from the database.  we need the source data as we don't store this in the index.
                    //even though most of the fields are available in the Document, the Image is the authoritative source, so we'll use that for all of the fields.
                    imagesRow = arachnodeDAO.GetImage(i.ToString());

                    if (imagesRow != null)
                    {
                        if (imagesRow.Source == null || imagesRow.Source.Length == 0)
                        {
                            if (File.Exists(discoveryManager.GetDiscoveryPath(crawler.ApplicationSettings.DownloadedImagesDirectory, imagesRow.AbsoluteUri, imagesRow.FullTextIndexType)))
                            {
                                imagesRow.Source = File.ReadAllBytes(discoveryManager.GetDiscoveryPath(crawler.ApplicationSettings.DownloadedImagesDirectory, imagesRow.AbsoluteUri, imagesRow.FullTextIndexType));
                            }
                            else
                            {
                                Console.WriteLine("ImageID: " + i + " was NOT processed successfully.");
                                if (OnImageProcessed != null)
                                {
                                    OnImageProcessed.BeginInvoke(imagesRow, "ImageID: " + i + " was NOT processed successfully.", null, null);
                                }
                            }
                        }

                        ProcessImage(crawler.ApplicationSettings, crawler.WebSettings, crawler, imagesRow, webClient, cache, actionManager, consoleManager, crawlerPeerManager, discoveryManager, imageManager, memoryManager, ruleManager, arachnodeDAO);

                        Console.WriteLine("ImageID: " + i + " was processed successfully.");
                        if (OnImageProcessed != null)
                        {
                            OnImageProcessed.BeginInvoke(imagesRow, "ImageID: " + i + " was processed successfully.", null, null);
                        }
                    }
                }
                catch (Exception exception)
                {
                    Console.WriteLine("ImageID: " + i + " was NOT processed successfully.");
                    Console.WriteLine(exception.Message);

                    if (OnImageProcessed != null)
                    {
                        OnImageProcessed.BeginInvoke(imagesRow, "ImageID: " + i + " was NOT processed successfully.", null, null);
                        OnImageProcessed.BeginInvoke(imagesRow, exception.Message, null, null);
                    }

                    arachnodeDAO.InsertException(null, null, exception, false);
                }
            }

            //stop the CrawlActions, CrawlRules and EngineActions...
            ruleManager.Stop();
            actionManager.Stop();
        }
示例#7
0
        public JsonResult GetPendingDetailsForVersionUpdt(DashBoardParameter dashBoardParameter)
        {
            var result = oDashBoardManager.GetPendingDetailsForVersionUpdt(dashBoardParameter, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            result.DsgId = CookieManager.GetCookie(CookieManager.CookieName).logindetail.DsgId;
            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
 public void ClearCookies()
 {
     CookieManager.Clear();
 }
示例#9
0
        /// <summary>
        ///     Initializes a new instance of the <see cref = "Crawler" /> class.
        /// </summary>
        public Crawler(ApplicationSettings applicationSettings, WebSettings webSettings, CrawlMode crawlMode, List <CrawlerPeer> crawlerPeers, List <DatabasePeer> databasePeers, bool enableRenderers)
        {
            Guid = Guid.NewGuid();

            try
            {
                _applicationSettings = applicationSettings;
                _webSettings         = webSettings;

                _arachnodeDAO        = (TArachnodeDAO)Activator.CreateInstance(typeof(TArachnodeDAO), _applicationSettings.ConnectionString, _applicationSettings, _webSettings, true, true);
                _applicationSettings = _arachnodeDAO.ApplicationSettings;

                _consoleManager = new ConsoleManager <TArachnodeDAO>(_applicationSettings, _webSettings);

                _consoleManager.OutputString("arachnode.net " + Assembly.GetExecutingAssembly().GetName().Version, ConsoleColor.Green, ConsoleColor.Gray);

                _actionManager = new ActionManager <TArachnodeDAO>(_applicationSettings, _webSettings, _consoleManager);
                _ruleManager   = new RuleManager <TArachnodeDAO>(_applicationSettings, _webSettings, _consoleManager);

                _memoryManager = new MemoryManager <TArachnodeDAO>(_applicationSettings, _webSettings);
                _cacheManager  = new CacheManager <TArachnodeDAO>(_applicationSettings, _webSettings);

                _cookieManager = new CookieManager();
                _cacheManager  = new CacheManager <TArachnodeDAO>(_applicationSettings, _webSettings);

                CrawlerPeers  = crawlerPeers;
                DatabasePeers = databasePeers;

                _crawlerPeerManager  = new CrawlerPeerManager <TArachnodeDAO>(_applicationSettings, _webSettings, CrawlerPeers, (TArachnodeDAO)Activator.CreateInstance(typeof(TArachnodeDAO), _applicationSettings.ConnectionString, _applicationSettings, _webSettings, true, true));
                _databasePeerManager = new DatabasePeerManager <TArachnodeDAO>(_applicationSettings, _webSettings, DatabasePeers);

                _cache = new Cache <TArachnodeDAO>(_applicationSettings, _webSettings, this, _actionManager, _cacheManager, _crawlerPeerManager, _memoryManager, _ruleManager);

                _dataTypeManager     = new DataTypeManager <TArachnodeDAO>(_applicationSettings, _webSettings);
                _discoveryManager    = new DiscoveryManager <TArachnodeDAO>(_applicationSettings, _webSettings, _cache, _actionManager, _cacheManager, _memoryManager, _ruleManager);
                _crawlRequestManager = new CrawlRequestManager <TArachnodeDAO>(_applicationSettings, _webSettings, _cache, _consoleManager, _discoveryManager);
                _encodingManager     = new EncodingManager <TArachnodeDAO>(_applicationSettings, _webSettings);
                _htmlManager         = new HtmlManager <TArachnodeDAO>(_applicationSettings, _webSettings, _discoveryManager);
                _politenessManager   = new PolitenessManager <TArachnodeDAO>(_applicationSettings, _webSettings, _cache);
                _proxyManager        = new ProxyManager <TArachnodeDAO>(_applicationSettings, _webSettings, _consoleManager);
                _reportingManager    = new ReportingManager <TArachnodeDAO>(_applicationSettings, _webSettings, _consoleManager);

                //create required directories...
                if (!Directory.Exists(_applicationSettings.ConsoleOutputLogsDirectory))
                {
                    Directory.CreateDirectory(_applicationSettings.ConsoleOutputLogsDirectory);
                }

                if (!Directory.Exists(_applicationSettings.DownloadedFilesDirectory))
                {
                    Directory.CreateDirectory(_applicationSettings.DownloadedFilesDirectory);
                }

                if (!Directory.Exists(_applicationSettings.DownloadedImagesDirectory))
                {
                    Directory.CreateDirectory(_applicationSettings.DownloadedImagesDirectory);
                }

                if (!Directory.Exists(_applicationSettings.DownloadedWebPagesDirectory))
                {
                    Directory.CreateDirectory(_applicationSettings.DownloadedWebPagesDirectory);
                }

                QueryProcessor = new QueryProcessor <TArachnodeDAO>();

                _consoleManager.OutputString("Crawler: Initializing Configuration/Database Connection.", ConsoleColor.White, ConsoleColor.Gray);

                LoadCrawlActions(_arachnodeDAO);
                LoadCrawlRules(_arachnodeDAO);

                AreRenderersEnabled = enableRenderers;

                Engine = new Engine <TArachnodeDAO>(_applicationSettings, _webSettings, this, _cache, _actionManager, _cacheManager, _consoleManager, _cookieManager, _crawlRequestManager, _dataTypeManager, _discoveryManager, _encodingManager, _htmlManager, _memoryManager, _politenessManager, _proxyManager, _reportingManager, _ruleManager, enableRenderers, (TArachnodeDAO)Activator.CreateInstance(typeof(TArachnodeDAO), _applicationSettings.ConnectionString, _applicationSettings, _webSettings, true, true));

                CrawlMode = crawlMode;

                /**/

                if (CrawlerPeerManager != null && CrawlerPeerManager.CrawlerPeers != null && CrawlerPeerManager.CrawlerPeers.Count != 0)
                {
                    ConsoleManager.OutputString("Crawler: Starting CrawlerPeerManager Server", ConsoleColor.White, ConsoleColor.Gray);

                    CrawlerPeerManager.StartServer(this, _arachnodeDAO);

                    _crawlerPeerManager.SendStatusMessageToCrawlerPeers(_arachnodeDAO);
                }

                /**/

                if (Debugger.IsAttached)
                {
                    _consoleManager.OutputString("Debugger: Attached - Expect Performance Degradation.", ConsoleColor.Yellow, ConsoleColor.Gray);
                }

                //update all core/components/managers with the updated ApplicationSettings...
#if DEMO
                Engine.CrawlRequestCompleted += Engine_CrawlRequestCompleted;

                _stopwatch.Start();
#endif
            }
            catch (InvalidConfigurationException invalidConfigurationException)
            {
                ProcessException(invalidConfigurationException);

                throw new InvalidConfigurationException(invalidConfigurationException.ApplicationSettings, invalidConfigurationException.WebSettings, invalidConfigurationException.Message, InvalidConfigurationExceptionSeverity.Error);
            }
            catch (Exception exception)
            {
                ProcessException(exception);

                throw new Exception(exception.Message, exception);
            }
        }
示例#10
0
        public JsonResult DeleteChangeNote(string delFlag, string ChangeNoteId)
        {
            Message result = oKMPManager.SetChangeNote(ChangeNoteId, "0", "", "0", "", "", delFlag, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#11
0
        public JsonResult GetWTGSoftwareHardware(string categoryId, string refId, string viewType)
        {
            List <WTGSoftwareHardware> result = oKMPManager.GetWTGSoftwareHardware(categoryId, refId, viewType, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);
            string strPathUrl = System.Configuration.ConfigurationManager.AppSettings["ImagesIISUrl"].ToString();

            foreach (var item in result)
            {
                if (item.Filname != null)
                {
                    string[] strExtension     = item.Filname.Split('.');
                    string   strFileExtension = item.Filname.Split('.')[strExtension.Length - 1];
                    if (strFileExtension.ToLower() == "pdf")
                    {
                        item.IsImage = false;
                    }
                    else
                    {
                        item.IsImage = true;
                    }
                    item.Filname = strPathUrl + "Software Hardware Download/" + item.Filname;
                }
            }
            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#12
0
        public JsonResult GetDMAnalyticsDetails(DMAnalyticsModel reportDetails)
        {
            string           Data1  = "";
            DataTable        dtNew  = null;
            DMAnalyticsReult result = oReportManager.GetDMAnalyticsReportDetails(reportDetails, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            if (result.DMAnalyticsDetail != null && result.DMAnalyticsDetail.Count > 0)
            {
                DataTable dt = ToDataTable <DMAnalyticsDetail>(result.DMAnalyticsDetail);
                dtNew = GenerateTransposedTable(dt);
                if (dtNew.Rows.Count > 0)
                {
                    string    _tmpLabel = "", _tmpDataValue = "";
                    DataTable dtFinal = new DataTable();
                    dtFinal.Clear();
                    dtFinal.Columns.Add("Label");
                    dtFinal.Columns.Add("Data");

                    for (int i = 0; i < dtNew.Rows.Count; i++)
                    {
                        _tmpLabel = _tmpDataValue = "";
                        for (int rCount = 1; rCount < dtNew.Columns.Count; rCount++)
                        {
                            _tmpLabel      = dtNew.Rows[i][0].ToString();
                            _tmpDataValue += _tmpDataValue.Length > 0 ? "," + dtNew.Rows[i][rCount].ToString() : dtNew.Rows[i][rCount].ToString();
                        }
                        DataRow _row = dtFinal.NewRow();
                        _row["Label"] = _tmpLabel;
                        _row["Data"]  = _tmpDataValue;
                        dtFinal.Rows.Add(_row);
                    }
                    Data1 = JsonConvert.SerializeObject(dtFinal);
                }
            }
            return(Json(new { Data1, result }, JsonRequestBehavior.AllowGet));
        }
示例#13
0
        public JsonResult GetPageAccess(string pageName)
        {
            AdminModel result = oAdminManager.GetPageAccessDetails(pageName, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#14
0
        public ActionResult DownloadZipFiles(FormCollection form)
        {
            try
            {
                using (ZipFile zip = new ZipFile())
                {
                    zip.AlternateEncodingUsage = ZipOption.AsNecessary;

                    string         strFilePath = System.Configuration.ConfigurationManager.AppSettings["FileExtractSource"].ToString();
                    CIRModelResult result      = OCIRManager.GetCIRDetails(form[0], CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

                    if (result.CIRFileDetail != null)
                    {
                        if (result.CIRFileDetail.Count > 0)
                        {
                            string strGamesaImagesUrl = ConfigurationManager.AppSettings["ImagesIISUrl"].ToString();
                            foreach (var item in result.CIRFileDetail)
                            {
                                if (Convert.ToBoolean(item.IsImage))
                                {
                                    item.CIRNumber        = result.CIRDetail.CIRNumber;
                                    item.FileName         = item.CFileName;
                                    item.CFileName        = strGamesaImagesUrl + "" + result.CIRDetail.CIRNumber + "/" + item.CFileName;
                                    item.FileNameFullPath = strGamesaImagesUrl + "" + result.CIRDetail.CIRNumber + "/" + item.FileName;
                                }
                                else
                                {
                                    item.FileName         = item.CFileName;
                                    item.CIRNumber        = result.CIRDetail.CIRNumber;
                                    item.FileNameFullPath = strGamesaImagesUrl + "" + result.CIRDetail.CIRNumber + "/" + item.CFileName;
                                }
                            }
                        }
                        foreach (var item in result.CIRFileDetail)
                        {
                            if (form.AllKeys[0] == "hdnCIRNumber")
                            {
                                if (Convert.ToBoolean(item.IsImage))
                                {
                                    zip.AddFile(strFilePath + "\\" + item.CIRNumber + "\\" + item.FileName);
                                }
                            }
                            else
                            {
                                if (!Convert.ToBoolean(item.IsImage))
                                {
                                    zip.AddFile(strFilePath + "\\" + item.CIRNumber + "\\" + item.FileName);
                                }
                            }
                        }
                        Response.Clear();
                        Response.BufferOutput = false;
                        string zipName = String.Format("Zip_{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss"));
                        Response.ContentType = "application/zip";
                        Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
                        zip.Save(Response.OutputStream);
                        Response.End();
                    }
                }
                return(Json(JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Json(JsonRequestBehavior.AllowGet));
            }
        }
示例#15
0
        public JsonResult GetCIRPendingAnalyticsDetails(AnalyticsReport rptDetails)
        {
            rptDetails.DateFrm = ConvertDate(rptDetails.DateFrm);
            rptDetails.DateTo  = ConvertDate(rptDetails.DateTo);
            CIRPendingAnalyticsModel result = oReportManager.GetCIRPendingAnalyticsDetails(rptDetails, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#16
0
        public JsonResult GetDetailReportDetails(ReportDetails reportDetails)
        {
            try
            {
                reportDetails.DateFrom = ConvertDate(reportDetails.DateFrom);
                reportDetails.DateTo   = ConvertDate(reportDetails.DateTo);
                ReportModel result = oReportManager.GetDetailReportDetails(reportDetails, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

                var jsonResult = Json(new { result }, JsonRequestBehavior.AllowGet);
                jsonResult.MaxJsonLength = int.MaxValue;
                DataTable table = ConvertToDataTable(result.ExcelReport);
                Session["DetailRpt"] = table;
                return(jsonResult);
            }
            catch
            {
                return(null);
            }
        }
示例#17
0
        public JsonResult GetSummaryDetails(ReportDetails reportDetails)
        {
            reportDetails.DateFrom = ConvertDate(reportDetails.DateFrom);
            reportDetails.DateTo   = ConvertDate(reportDetails.DateTo);
            ReportModel result = oReportManager.GetSummaryReportDetails(reportDetails, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#18
0
        public JsonResult GetPendingdetailsForFSRExceptMyPending(DashBoardParameter dashBoardParameter)
        {
            var result = oDashBoardManager.GetPendingdetailsForFSRExceptMyPending(dashBoardParameter, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            result.DsgId       = CookieManager.GetCookie(CookieManager.CookieName).logindetail.DsgId;
            result.IsMyPending = "1";
            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#19
0
        public JsonResult GetAssignedAndUnAssignedEmployeeDetails(string siteId, string stateId, string view)
        {
            SiteMapModel oSiteMapModel = new SiteMapModel()
            {
                Site  = siteId,
                State = stateId,
                View  = view
            };
            SiteMapResult result = oAdminManager.GetEmployeeMappedDetails(oSiteMapModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#20
0
        public JsonResult SaveChangePassword(string oldPassword, string newPassword)
        {
            var result = oAdminManager.SaveChangePassword(RMaxCrypto.Crypto.EncryptII(oldPassword), RMaxCrypto.Crypto.EncryptII(newPassword), "0", CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#21
0
        public JsonResult SetSiteMapping(SiteMapModel siteMapModel)
        {
            Message result = oAdminManager.SetSiteMapping(siteMapModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#22
0
        public JsonResult SaveFiles(string pageName, string pageId, string kgId)
        {
            Message result = new Message();

            try
            {
                HttpPostedFileBase uploadedFile = Session["File"] as HttpPostedFileBase;
                string             strFileName  = ConfigurationManager.AppSettings["FileCIRUploadUrl"].ToString();
                string             uploaderUrl  = "";


                if (uploadedFile != null)
                {
                    result = oAdminManager.SaveKMPFiles("0", pageId, "", "", uploadedFile.FileName, kgId, "0", CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

                    var streamFile = uploadedFile.InputStream;
                    if (Directory.Exists(strFileName + "" + pageName))
                    {
                        uploaderUrl = string.Format("{0}{1}", strFileName + "" + pageName + "/", uploadedFile.FileName);
                        using (var fileStream = new FileStream((uploaderUrl), FileMode.Create))
                        {
                            streamFile.CopyTo(fileStream);
                        }
                    }
                    else
                    {
                        DirectoryInfo di = Directory.CreateDirectory(strFileName + "" + pageName);

                        uploaderUrl = string.Format("{0}{1}", strFileName + "" + pageName + "/", uploadedFile.FileName);
                        using (var fileStream = new FileStream((uploaderUrl), FileMode.Create))
                        {
                            streamFile.CopyTo(fileStream);
                        }
                    }
                    Session.Remove("File");
                    return(Json(new { result }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    result = new Message()
                    {
                        Msg   = "Ensure File!",
                        Clear = "False"
                    };
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
            }

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#23
0
        public JsonResult GetAlarmDescriptionDetails(string alarmCode)
        {
            AlarmFAQModel result = oKMPManager.GetAlarmDetails(alarmCode, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#24
0
        public JsonResult GetKMPFileApproval(string categoryId, string refId, string status, string viewType)
        {
            List <KMPFileApproval> result = oAdminManager.GetKMPFileApproval(categoryId, refId, status, viewType, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#25
0
        public JsonResult SetWTGSoftwareHardware(string categoryId, string refId, string title, string tagTitle, string delFlag)
        {
            Message result = new Message();

            try
            {
                string             strFilePath  = ConfigurationManager.AppSettings["FileCIRUploadUrl"].ToString();
                HttpPostedFileBase uploadedFile = Session["File"] as HttpPostedFileBase;
                string             uploaderUrl  = "";
                if (Session["File"] != null)
                {
                    string strExtension = uploadedFile.FileName.Split('.')[uploadedFile.FileName.Split('.').Length - 1];
                    var    stream       = uploadedFile.InputStream;
                    if (strExtension.ToLower() == "jpg" || strExtension.ToLower() == "jpeg" || strExtension.ToLower() == "svg" || strExtension.ToLower() == "gif" || strExtension.ToLower() == "pdf" || strExtension.ToLower() == "png")
                    {
                        if (Directory.Exists(strFilePath + "Software Hardware Download/"))
                        {
                            uploaderUrl = string.Format("{0}{1}", strFilePath + "Software Hardware Download/", uploadedFile.FileName.Contains("&") ? uploadedFile.FileName.Replace("&", "_") : uploadedFile.FileName);
                            using (var fileStream = new FileStream((uploaderUrl), FileMode.Create))
                            {
                                stream.CopyTo(fileStream);
                            }
                        }
                        else
                        {
                            DirectoryInfo di = Directory.CreateDirectory(strFilePath + "Software Hardware Download/");

                            uploaderUrl = string.Format("{0}{1}", strFilePath + "Software Hardware Download/", uploadedFile.FileName.Contains("&") ? uploadedFile.FileName.Replace("&", "_") : uploadedFile.FileName);
                            using (var fileStream = new FileStream((uploaderUrl), FileMode.Create))
                            {
                                stream.CopyTo(fileStream);
                            }
                        }
                        result = oKMPManager.SetWTGSoftwareHardware("0", categoryId, uploadedFile.FileName.Contains("&") ? uploadedFile.FileName.Replace("&", "_") : uploadedFile.FileName, refId, title, tagTitle, delFlag, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);
                        stream.Flush();
                        stream.Close();
                    }
                    else
                    {
                        result = new Message()
                        {
                            Msg   = "Please upload only the image/ pdf files only.",
                            Clear = "False"
                        };
                    }
                }
                else
                {
                    result = new Message()
                    {
                        Msg   = "Your transaction is failed",
                        Clear = "False"
                    };
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
            }
            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#26
0
        public JsonResult GetEmail(EmailModel emailModel)
        {
            List <EmailDetails> result = oAdminManager.GetEmail(emailModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#27
0
        public JsonResult DeleteWTGSoftwareHardware(string delFlag, string FieldAlertDocumentId)
        {
            Message result = oKMPManager.SetWTGSoftwareHardware(FieldAlertDocumentId, "0", "", "0", "", "", delFlag, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#28
0
        public JsonResult GetNotificationDetails()
        {
            var result = oDashBoardManager.GetNotificationDetails(CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#29
0
        public JsonResult Login(LoginInfoModel loginInfo)
        {
            loginInfo.SiteUrl = Request.Host.ToString();
            UserMaster userMaster;

            //用户密码登陆
            if (loginInfo.Ip == null)
            {
                userMaster = _userMasterService.GetModel(p => p.UserID == loginInfo.UserId);

                if (userMaster == null)
                {
                    return(Json(new ResultInfo()
                    {
                        ErrorNo = -1, ErrorMsg = ResMessage.AccountNotExist
                    }));
                }

                if (userMaster.Password != DesEncrypt.Encrypt(loginInfo.Password))
                {
                    return(Json(new ResultInfo()
                    {
                        ErrorNo = -1, ErrorMsg = ResMessage.PasswordError + "<a href='javascript:void(0);' onclick='RetrievePassword();'>" + ResIndex.RetrievePassword + "</a>"
                    }));
                }
            }
            else
            {   //IP免登陆
                if (ViewBag.FromIpFreeLogin != true)
                {
                    var dt    = _userMasterService.Login(loginInfo.Ip);
                    var bFind = false;

                    foreach (DataRow row in dt.Rows)
                    {
                        if (row["User_ID"].ToString() == loginInfo.UserId)
                        {
                            bFind = true;
                        }
                    }

                    if (!bFind)
                    {
                        return(Json(new ResultInfo()
                        {
                            ErrorNo = -1, ErrorMsg = ResMessage.AccountInvaliable
                        }));
                    }
                }

                userMaster = _userMasterService.GetCachedModel(p => p.UserID == loginInfo.UserId);
                if (userMaster == null)
                {
                    return(Json(new ResultInfo()
                    {
                        ErrorNo = -1, ErrorMsg = ResMessage.AccountNotExist
                    }));
                }
            }
            //账户是否有效
            if (userMaster.StatusFlag != 0)
            {
                return(Json(new ResultInfo()
                {
                    ErrorNo = -1, ErrorMsg = ResMessage.AccountInvaliable
                }));
            }

            //网址是否有效
            var userSite = _userSiteService.GetModel(userMaster.UserID, loginInfo.SiteUrl);

            //if (userSite == null)
            //    return Json(new ResultInfo() { ErrorNo = -1, ErrorMsg = ResMessage.SiteTips });

            //密码是否过期
            if (userMaster.PasswordExprityDate < DateTime.Now)
            {
                return(Json(new ResultInfo()
                {
                    ErrorNo = -1, ErrorMsg = ResMessage.PasswordExpired + "<a href='javascript:void(0);' onclick='ModifyPassword();'>" + ResIndex.ModifyPassword + "</a>"
                }));
            }

            //清空旧缓存
            SessionManager.Logout();
            CookieManager.RemoveVersion();

            //加入角色和用户信息
            SessionManager.AddRoleUser(_roleUserService.GetCachedModel(p => p.UserID == loginInfo.UserId));
            SessionManager.AddUserMaster(userMaster);
            var domain = _domainService.GetModel(p => p.StatusFlag == 0);

            if (domain != null)
            {
                SessionManager.AddDomain(domain);
                CookieManager.AddVersion(domain.Version.ToString());
            }

            return(Json(new ResultInfo()
            {
                ErrorNo = 0, ErrorMsg = ""
            }));
        }
示例#30
0
 public LottoBettingObject(IWebDriver webDriver, PlayerDetailsModel playerDetails)
 {
     _driver        = webDriver;
     _playerBalance = playerDetails;
     _cookieManager = new CookieManager(playerDetails);
 }
示例#31
0
        private byte[] ConvertToPdf(string url, string html, string tempFilePath, NameValueCollection headers = null, IEnumerable <GeckoCookie> cookies = null)
        {
            // Initialize gecko engine
            if (!HeadlessGecko.IsInitialized)
            {
                var initSignal = new SemaphoreSlim(0, 1);
                HeadlessGecko.OnInitialized += () =>
                {
                    initSignal.Release();
                };

                HeadlessGecko.Initialize(GeckoBinDirectory);
                initSignal.Wait();
            }

            var printReadySignal = new SemaphoreSlim(0, 1);

            var browser = HeadlessGecko.CreateBrowser();

            browser.DocumentCompleted += (s, e) =>
            {
                // After loading document, waits some time, and send print ready signal
                Task.Run(() =>
                {
                    Thread.Sleep(1000); // Some delay need, otherwise throws COMException
                    printReadySignal.Release();
                });
            };


            // Invoke navigate method in STA browser thread
            browser.Invoke((MethodInvoker) delegate
            {
                Uri uri          = null;
                var isUriSuccess = Uri.TryCreate(url, UriKind.Absolute, out uri);

                if (isUriSuccess && cookies != null)
                {
                    foreach (var cookie in cookies)
                    {
                        CookieManager.Add(uri.Host, cookie.Path, cookie.Name, cookie.Value, cookie.Secure, cookie.HttpOnly, false, cookie.ExpiresUnix);
                    }
                }
                var geckoHeaders = MimeInputStream.Create();
                if (headers != null)
                {
                    var headersItems = headers.AllKeys.SelectMany(headers.GetValues, (k, v) => new { Key = k, Value = v });
                    foreach (var header in headersItems)
                    {
                        geckoHeaders.AddHeader(header.Key, header.Value);
                    }
                    return;
                }
                else
                {
                    geckoHeaders.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0");
                    geckoHeaders.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                    geckoHeaders.AddHeader("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                    geckoHeaders.AddHeader("Accept-Encoding", "gzip, deflate, br");
                    geckoHeaders.AddHeader("X-Compress", "1");
                    geckoHeaders.AddHeader("Connection", "keep-alive");
                }

                if (string.IsNullOrEmpty(html))
                {
                    browser.Navigate(url, GeckoLoadFlags.None, url, null, geckoHeaders);
                }
                else
                {
                    browser.LoadHtml(html, url);
                }
            });

            printReadySignal.Wait(); // Waiting before print will completed
            //browser.NavigateFinishedNotifier.BlockUntilNavigationFinished();

            // Create temporary file and print page to him
            if (string.IsNullOrEmpty(tempFilePath))
            {
                tempFilePath = Path.GetTempFileName();
            }

            var fi = new FileInfo(tempFilePath);

            if (!fi.Exists)
            {
                if (!fi.Directory.Exists)
                {
                    fi.Directory.Create();
                }
                File.Create(tempFilePath).Close();
            }

            browser.Invoke((MethodInvoker) delegate
            {
                browser.PrintToFile(_config, tempFilePath);
            });

            var attempts = 0;

            while (Tools.IsFileLocked(tempFilePath) || attempts >= _config.MaxLockingCheckAttempts)
            {
                attempts++;
                Thread.Sleep(_config.PdfLockingCheckDelay);
            }

            if (attempts >= _config.MaxLockingCheckAttempts)
            {
                throw new IOException("Generated pdf file locked too long");
            }

            // Read temporary file to MemoryStream and delete
            var bytes = File.ReadAllBytes(tempFilePath);

            File.Delete(tempFilePath);

            browser.Invoke((MethodInvoker) delegate
            {
                browser.Dispose();
            });

            return(bytes);
        }
示例#32
0
        public JsonResult GetEmpSiteMappingDetails(GetEmpSiteMapModel siteMapModel)
        {
            GetEmpSiteMapResult result = oAdminManager.GetEmpSiteMappingDetails(siteMapModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#33
0
        /// <summary>
        /// Save the Hierarchy details
        /// </summary>
        /// <param name="hierarchyModel"></param>
        /// <returns></returns>
        public JsonResult SetHierarchyDetails(HierarchyModel hierarchyModel)
        {
            Message result = oAdminManager.SetHierarchyDetails(hierarchyModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#34
0
        public JsonResult GetSMPDataDashboardDetails(DashBoardParameter dashBoardParameter)
        {
            var result = oDashBoardManager.GetSMPDataDashboardDetails(dashBoardParameter, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
示例#35
0
        /// <summary>
        /// Get the Hierarchy Details
        /// </summary>
        /// <returns></returns>
        public JsonResult GetHierarchyDetails()
        {
            HierarchyResult result = oAdminManager.GetHierarchyDetails(CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
        // TODO: Still have to check this function, if is working as intended
        public void Run()
        {
            postRequest = new PostForm();
            getRequest = new GetForm();

            postRequest.EndHttp += new ResponseCallbackDelegate(httpResponse_EndHttp);
            getRequest.EndHttp += new ResponseCallbackDelegate(httpResponse_EndHttp);

            reports = new ArrayList();
            UnitTestSession session = this.CurrentUnitTestSession;
            int availableTests = session.AvailableTests();
            bool lastItem = false;

            // get tests count
            for (int i=0;i<session.UnitTestForms.Count;i++)
            {
                UnitTestItem testItem = session.UnitTestForms.GetByIndex(i);
                HtmlFormTag form = testItem.Form;

                #region Run each test in UnitTestItem
                // run each test in Form
                foreach (DictionaryEntry de in testItem.Tests)
                {
                    Test test = (Test)de.Value;

                    // apply test to form
                    HtmlFormTag filledForm = ApplyTestToForm(test,form.CloneTag());

                    // set current test index
                    testItem.SelectedTestIndex = testItem.Tests.IndexOfValue(test);

                    // get reponse uri
                    Uri uri = (Uri)this.CurrentUnitTestSession.SessionData.ResponseHeaderCollection["Response Uri"];

                    // resolve uri
                    string url = UriResolver.ResolveUrl(uri,filledForm.Action);

                    // process special fields
                    // filledForm = parser.ProcessSpecialFields(filledForm);

                    // convert to array list
                    ArrayList al = parser.ConvertToArrayList(filledForm);

                    // set posted data
                    StringBuilder postDataBuffer = new StringBuilder();

                    postDataBuffer.Append("?");
                    for (int k=0;k<al.Count;k++)
                    {
                        postDataBuffer.Append(al[k]);
                        postDataBuffer.Append("&");
                    }

                    test.Arguments.PostData = postDataBuffer.ToString();

                    // set last item flag
                    if ( availableTests == 1)
                    {
                        lastItem = true;
                    }

                    CookieManager cookieManager = new CookieManager();
                    CookieCollection cookies = cookieManager.GetCookies(new Uri(url));

                    if ( filledForm.Method.ToLower(System.Globalization.CultureInfo.InvariantCulture) == "get" )
                    {
                        getRequest.StartAsyncHttpGet(
                            url,
                            this.ProtocolProperties,
                            al,
                            cookies,
                            testItem.Clone(),
                            lastItem);

                    } else {
                        postRequest.StartAsyncHttpPost(
                            url,
                            this.ProtocolProperties,
                            al,
                            cookies,
                            testItem.Clone(),
                            lastItem);
                    }

                    availableTests--;
                }
                #endregion
            }
        }