private bool LoginByCookie() { try { HttpCookie cookie = Request.Cookies["FINFLoginCookie"]; if (cookie != null) { _user = new FI.BusinessObjects.User(decimal.Parse(cookie.Value), false); _user.Login(true, Request.UserHostAddress, Session.SessionID); Session["User"] = _user; _message = null; return(true); } else { return(false); } } catch (Exception exc) { if (Common.AppConfig.IsDebugMode) { Common.LogWriter.Instance.WriteEventLogEntry(exc); } _message = exc.Message; ShowHeader(); return(false); } }
private void LoginByPassword() { try { _user = new FI.BusinessObjects.User(this.txtCompany.Text, this.txtLogin.Text, this.txtPassword.Text); _user.Login(this.chkForce.Checked, Request.UserHostAddress, Session.SessionID); Session["User"] = _user; // set cookie if (this.chkRemember.Checked) { HttpCookie cookie = new HttpCookie("FINFLoginCookie"); cookie.Value = _user.ID.ToString(); cookie.Expires = DateTime.Now.AddMonths(6); Response.Cookies.Add(cookie); } _message = null; } catch (Exception exc) { if (Common.AppConfig.IsDebugMode) { Common.LogWriter.Instance.WriteEventLogEntry(exc); } _message = exc.Message; ShowHeader(); } }
internal Distribution(decimal ID , User Owner) { _id=ID; _owner=Owner; _isProxy=true; _isDirty=false; }
protected void btnDelete_Click(object sender, System.EventArgs e) { try { ArrayList keysArr = _gr.SelectedPrimaryKeys; if (keysArr == null || keysArr.Count == 0) { Session[_sessionContent] = "List"; Session[_sessionItemCurrentObject] = null; } else { decimal userId = decimal.Parse(((string[])keysArr[0])[0]); FI.BusinessObjects.User user = _user.GetUser(userId, false); Session[_sessionItemCurrentObject] = user; Session[_sessionContent] = "Delete"; // just before transfer } Server.Transfer(Request.FilePath, false); } catch (Exception exc) { ShowException(exc); } }
internal Contact(decimal ID , User Owner) { _id=ID; _owner=Owner; _isProxy=true; _isDirty=false; }
internal Contact(User Owner) { _owner=Owner; FI.Common.DataAccess.IContactsDA dacObj=DataAccessFactory.Instance.GetContactsDA(); _id=dacObj.InsertContact(_owner.ID , this.Name , this.EMail , this.DistributionFormat.ToString()); _isProxy=false; _isDirty=false; }
private void Button1_Click(object sender, System.EventArgs e) { FI.BusinessObjects.User usr=new FI.BusinessObjects.User(); usr.Authenticate(4); System.DateTime time1=System.DateTime.Now; OlapReport rpt=(OlapReport)usr.ReportSystem.GetReport(61 , typeof(OlapReport) , true); //rpt.AddToExecuteQueue(); System.DateTime time2=System.DateTime.Now; Button1.Text=((System.TimeSpan)time2.Subtract(time1)).ToString(); }
private void Button1_Click(object sender, System.EventArgs e) { FI.BusinessObjects.User usr = new FI.BusinessObjects.User(); usr.Authenticate(4); System.DateTime time1 = System.DateTime.Now; OlapReport rpt = (OlapReport)usr.ReportSystem.GetReport(61, typeof(OlapReport), true); //rpt.AddToExecuteQueue(); System.DateTime time2 = System.DateTime.Now; Button1.Text = ((System.TimeSpan)time2.Subtract(time1)).ToString(); }
internal CrystalReport(decimal ID , User Owner) : base(ID,Owner) { if(ID==0) //if new { //FI.DataAccess.CustomSqlReports dacObj=new FI.DataAccess.CustomSqlReports(); //_id=dacObj.InsertReport(_owner.ID , 0 , 0 , "New Report" , "" , this.IsSelected , this.Sql , this.Xsl); _isProxy=false; _isDirty=false; } }
internal Distribution(User Owner , Report report , Contact contact, Report.ExportFormat format) { _owner=Owner; this.Report=report; this.Contact=contact; this.Format=format; FI.Common.DataAccess.IDistributionsDA dacObj=DataAccessFactory.Instance.GetDistributionsDA(); _id=dacObj.InsertDistribution(_owner.ID, report.ID , contact.ID , report.GetTypeCode() , this.FrequencyType.ToString() , this.FrequencyValue.ToString(), (int)this.Format); _isProxy=false; _isDirty=false; }
internal CustomSqlReport(decimal ID , User Owner) : base(ID,Owner) { if(ID==0) //if new { _xsl=DefaultXsl(); FI.DataAccess.CustomSqlReports dacObj=DataAccessFactory.Instance.GetCustomSqlReportsDA(); _id=dacObj.InsertReport(_owner.ID , 0 , 0 , "New Report" , "" , this.IsSelected , this.Sql , this.Xsl); _isProxy=false; _isDirty=false; } }
private bool CheckUser() { if (Session["User"] != null) { if (Request.QueryString["action"] == "Logout") { _user = (User)Session["User"]; _user.Logout(); Session.Abandon(); Response.Redirect("Default.aspx", true); return(false); //it won't actually return } else { _user = (User)Session["User"]; if (_user.IsProxy == false && _user.IsNew == false) { // check like in PageBase if (_user.IsLoggedIn && _user.CheckSessionValidity() == false) { _user.Logout(); if (_message == null) //if no error before { _message = "Another user logged you out"; return(false); } } return(true); } else { return(false); } } } else { if (_message == null && Request.QueryString["action"] == "NewSession") //if no error before { _message = "Session expired or per-session cookies disabled"; } return(false); } }
private void FIDataEdit_CancelButtonClick(object Sender, System.Web.UI.WebControls.CommandEventArgs e) { FI.BusinessObjects.User user = null; if (Session[_sessionItemCurrentObject] != null) { user = (FI.BusinessObjects.User)Session[_sessionItemCurrentObject]; } user = null; Session[_sessionContent] = "List"; Session[_sessionItemCurrentObject] = null; Server.Transfer(Request.FilePath, false); }
private void btnLogin_Click(object sender, System.EventArgs e) { try { _user=new FI.BusinessObjects.User(this.txtCompany.Text , this.txtLogin.Text , this.txtPassword.Text); _user.Login(this.chkForce.Checked, Request.UserHostAddress , Session.SessionID); Session["User"]=_user; _message=null; } catch(Exception exc) { if(Common.AppConfig.IsDebugMode) Common.LogWriter.Instance.WriteEventLogEntry(exc); _message=exc.Message; ShowHeader(); } }
protected void btnLogin_Click(object sender, System.EventArgs e) { try { _user = new FI.BusinessObjects.User(this.txtCompany.Text, this.txtLogin.Text, this.txtPassword.Text); _user.Login(this.chkForce.Checked, Request.UserHostAddress, Session.SessionID); Session["User"] = _user; _message = null; } catch (Exception exc) { if (Common.AppConfig.IsDebugMode) { Common.LogWriter.Instance.WriteEventLogEntry(exc); } _message = exc.Message; ShowHeader(); } }
protected virtual void LoadSession() { //debug /* * if(Session["User"]==null) * { * _user=new FI.BusinessObjects.User("salespp", "spp" , "spp"); * _user.Login(true); * } * else * _user=(FI.BusinessObjects.User)Session["User"]; * * return; */ if (Session["User"] == null) { Response.Redirect(Request.ApplicationPath + "/Default.aspx?action=NewSession"); } _user = (FI.BusinessObjects.User)Session["User"]; _cssStyleNum = _user.CssStyle; if (_user.IsLoggedIn && _user.CheckSessionValidity() == false) { _user.Logout(); Session.Abandon(); Response.Redirect(Request.ApplicationPath + "/Default.aspx?action=NewSession&msg=Another user forced Your logout"); } if (FI.Common.AppConfig.AuditPageHits) { _user.AuditPageHit(); } // }
private void FIDataEdit_DeleteButtonClick(object Sender, System.Web.UI.WebControls.CommandEventArgs e) { FI.UI.Web.Controls.FIDataEdit dataEdit = (FI.UI.Web.Controls.FIDataEdit)Sender; if (dataEdit.IsValid == false) { return; } FI.BusinessObjects.User user = (FI.BusinessObjects.User)dataEdit.CurrentObject; try { _user.DeleteUser(user); Session[_sessionContent] = "List"; Server.Transfer(Request.FilePath, false); } catch (System.Exception err) { _ed.ShowException(err); } }
internal ReportSystem(User Owner) { _owner=Owner; }
public void DeleteSharedReports(Report ParentReport) { FI.Common.Data.FIDataTable dataTable=this.GetUsersWithChildReports(ParentReport); if(dataTable==null || dataTable.Rows.Count==0) return; for(int i=0; i<dataTable.Rows.Count; i++) { DataRow row=dataTable.Rows[i]; decimal userId=(decimal)row["user_id"]; decimal reportId=(decimal)row["report_id"]; int reportType=(int)row["report_type"]; if(reportId==0) continue; User user=new User(userId, true); Report childReport=user.ReportSystem.GetReport(reportId, user.ReportSystem.GetReportType(reportType) , false); user.ReportSystem.DeleteSharedReport(ParentReport, childReport); } }
public User GetUser(decimal ID , bool AsProxy) { if(AsProxy) { User user=new User(ID , true); user._companyId=this._companyId; return user; } else { if(this.IsProxy) throw new Exception("Cannot use proxy"); if(this.IsAdmin==false && this.ID!=ID) throw new Exception("Permission denied"); return new User(ID , false); } }
private bool CheckUser() { if (Session["User"] != null) { if (Request.QueryString["action"] == "Logout") { _user = (User)Session["User"]; _user.Logout(); Session.Abandon(); HttpCookie cookie = Response.Cookies["FINFLoginCookie"]; if (cookie != null) { cookie.Value = "-1"; cookie.Expires = DateTime.Now.AddMonths(-6); } Response.Redirect("Default.aspx", true); return(false); //it won't actually return } else { _user = (User)Session["User"]; if (_user.IsProxy == false && _user.IsNew == false) { // check like in PageBase if (_user.IsLoggedIn && _user.CheckSessionValidity() == false) { _user.Logout(); if (_message == null) //if no error before { _message = "Another user logged you out"; return(false); } } return(true); } else { return(false); } } } else { // check by cookie if (LoginByCookie()) { return(true); } if (_message == null && Request.QueryString["action"] == "NewSession") //if no error before { _message = "Session expired or per-session cookies disabled"; } return(false); } }
public User NewUser() { if(this.IsProxy) throw new Exception("Cannot use proxy"); if(this.IsAdmin==false) throw new Exception("Permission denied"); User user=new User(0 , true); user._companyId=this._companyId; return user; }
public void SaveUser(User user) { if(this.IsNew || this.IsProxy) throw new Exception("Cannot use new or proxy to save"); if(user.IsNew==false && user.IsProxy) throw new Exception("Cannot save proxy"); if(this.IsAdmin==false && this.ID!=user.ID) throw new Exception("Permission denied"); if(this.ID==user.ID) { //saving itself , must not assign itself as admin if wasn't admin if(this._isAdminAudit==false && user.IsAdmin) throw new Exception("Permission denied : IsAdmin property"); } FI.Common.DataAccess.IUsersDA dacObj=DataAccessFactory.Instance.GetUsersDA(); if(user.IsNew) user._id=dacObj.InsertUser(user._companyId , user.Logon , user.Password, user._passwordTimestamp , user.Name, user.Email , user.IsAdmin, user.CssStyle); else dacObj.UpdateUser(user.ID , user.Logon , user.Password , user._passwordTimestamp, user.Name, user.Email , user.IsAdmin, user.CssStyle); user._isProxy=false; user._isAdminAudit=user._isAdmin; if(this.ID==user.ID) { //update itself FI.Common.Data.FIDataTable table=dacObj.ReadUser(this.ID); this.LoadData(table); } }
public void ExecuteAllOlapReports(string CompanyNameShort, int millisecondsTimeout, string logPath) { if(!System.IO.Path.IsPathRooted(logPath)) logPath=FI.Common.AppConfig.TempDir + "\\" + logPath; FI.Common.DataAccess.IUsersDA dacObj=DataAccessFactory.Instance.GetUsersDA(); FI.Common.Data.FIDataTable table=dacObj.ReadUsers(); if(table.Rows.Count==0) return; table.DefaultView.Sort="Id asc"; int errorCount=0; int rptCount=1; foreach(System.Data.DataRowView userRow in table.DefaultView) { if( ((string)userRow["CompanyNameShort"]).ToUpper()==CompanyNameShort.ToUpper()) { User user=new User((decimal)userRow["Id"] , false); FI.Common.Data.FIDataTable t=user.ReportSystem.GetReportHeaders(typeof(OlapReport)); t.DefaultView.Sort="id asc"; string userLog=string.Format("***************** User id={0}, login='******', password='******'", user.ID, user.Logon, user.Password); System.IO.StreamWriter sw=System.IO.File.AppendText(logPath); sw.WriteLine(userLog); sw.Close(); foreach(DataRowView rptRow in t.DefaultView) { if((byte)rptRow["sharing_status"]==(byte)Report.SharingEnum.InheriteSubscriber || (byte)rptRow["sharing_status"]==(byte)Report.SharingEnum.SnapshotSubscriber) continue; string log=string.Format("{0}\t#{1}\t", DateTime.Now.ToShortTimeString(), rptCount); try { OlapReport rpt=(OlapReport)user.ReportSystem.GetReport((decimal)rptRow["id"], typeof(OlapReport), true); log+=string.Format("OlapReport id={0}, name='{1}', description='{2}'", rpt.ID, rpt.Name, rpt.Description); rpt.BeginExecute(); int milisecondCount=0; while(milisecondCount<millisecondsTimeout && rpt.State==Report.StateEnum.Executing) { System.Threading.Thread.Sleep(500); milisecondCount+=500; } if(rpt.State==Report.StateEnum.Executing) { rpt.CancelExecute(); log+="\r\n\tcanceled on timeout"; } else { rpt.EndExecute(); log+="\r\n\tcompleted, cells=" + rpt.Cellset.Axis0PosCount*rpt.Cellset.Axis1PosCount; } } catch(Exception exc) { log+=string.Format("exception \r\n\t\t{0}", exc.Message); errorCount++; } rptCount++; sw=System.IO.File.AppendText(logPath); sw.WriteLine(log); sw.Close(); } } } }
private bool CheckUser() { if(Session["User"]!=null) { if(Request.QueryString["action"]=="Logout") { _user=(User)Session["User"]; _user.Logout(); Session.Abandon(); Response.Redirect("Default.aspx" , true); return false; //it won't actually return } else { _user=(User)Session["User"]; if(_user.IsProxy==false && _user.IsNew==false) { // check like in PageBase if(_user.IsLoggedIn && _user.CheckSessionValidity()==false) { _user.Logout(); if(_message==null) //if no error before { _message="Another user logged you out"; return false; } } return true; } else return false; } } else { if(_message==null && Request.QueryString["action"]=="NewSession") //if no error before _message="Session expired or per-session cookies disabled"; return false; } }
public void DeleteUser(User user) { if(this.IsProxy) throw new Exception("Cannot use proxy"); if(this.IsAdmin==false) throw new Exception("Permission denied"); if(this.ID==user.ID) throw new Exception("Cannot delete itself"); user.ContactSystem.DeleteAll(); user.ReportSystem.DeleteAll(false); FI.Common.DataAccess.IUsersDA dacObj=DataAccessFactory.Instance.GetUsersDA(); dacObj.DeleteUser(user.ID); }
protected virtual void LoadSession() { //debug /* if(Session["User"]==null) { _user=new FI.BusinessObjects.User("salespp", "spp" , "spp"); _user.Login(true); } else _user=(FI.BusinessObjects.User)Session["User"]; return; */ if(Session["User"]==null) Response.Redirect(Request.ApplicationPath + "/Default.aspx?action=NewSession"); _user=(FI.BusinessObjects.User)Session["User"]; _cssStyleNum=_user.CssStyle; if(_user.IsLoggedIn && _user.CheckSessionValidity()==false) { _user.Logout(); Session.Abandon(); Response.Redirect(Request.ApplicationPath + "/Default.aspx?action=NewSession&msg=Another user forced Your logout"); } if(FI.Common.AppConfig.AuditPageHits) _user.AuditPageHit(); // }
internal DistributionSystem(User Owner) { _owner=Owner; _owner.ContactSystem.BeforeDeleteContact+=new EventHandler(OnBeforeDeleteContact); _owner.ReportSystem.BeforeDeleteReport+=new EventHandler(OnBeforeDeleteReport); }
public void SendDistribution(decimal distributionId, DateTime getCacheFrom, Guid olapTaskGuid, out bool isFromCache) { try { isFromCache=false; FI.Common.DataAccess.IDistributionsDA dacObj=DataAccessFactory.Instance.GetDistributionsDA(); decimal userId=dacObj.GetDistributionOwnerId(distributionId); if(userId<=0) return; User user=new User(userId, true); Distribution distr=user.DistributionSystem.GetDistribution(distributionId, true); Report report=distr.Report; if(report.IsProxy) report.Open(); if(report.State==Report.StateEnum.Open) { OlapReport olapRpt=report as OlapReport; if(olapRpt!=null) olapRpt.Execute(olapTaskGuid); else report.Execute(); } Contact contact=distr.Contact; if(contact.IsProxy) contact.Fetch(); SendReport(report , new Contact[] {contact} , distr.Format, getCacheFrom, out isFromCache); } catch(Exception exc) { Common.LogWriter.Instance.WriteEventLogEntry(exc); throw exc; } }
public void EnqueueScheduledDistributions(System.DateTime Date , string CompanyNameShort) { FI.Common.DataAccess.IUsersDA dacObj=DataAccessFactory.Instance.GetUsersDA(); FI.Common.Data.FIDataTable table=dacObj.ReadUsers(); if(table.Rows.Count==0) return; foreach(System.Data.DataRow row in table.Rows) { if( ((string)row["CompanyNameShort"]).ToUpper()==CompanyNameShort.ToUpper()) { User user=new User((decimal)row["Id"] , true); user.DistributionSystem.EnqueueDistributions(Date); } } }
internal ContactSystem(User Owner) { _owner=Owner; }