private static bool Auth() { CMSDataContext db = CMSDataContext.Create(HttpContextFactory.Current); CMSImageDataContext idb = CMSImageDataContext.Create(HttpContextFactory.Current); return(AccountModel.AuthenticateMobile(db, idb, "Checkin").IsValid); }
public void UpdateImageFromBitsTest() { int id; using (var db = CMSImageDataContext.Create(Util.Host)) { var image = CreateJpegImage(); db.Images.InsertOnSubmit(image); db.SubmitChanges(); id = image.Id; image = null; } Image newImage; var bytes = GetImageBytes("Untitled"); using (var db = CMSImageDataContext.Create(Util.Host)) { newImage = db.UpdateImageFromBits(id, bytes); } var expected = GetImageBytes("UpdateImageFromBitsTest"); newImage.Bits.ShouldBe(expected); newImage.Mimetype.ShouldBe("image/jpeg"); }
public void JoinUnJoinOrg(int PeopleId, int OrgId, bool Member) { var db = DbUtil.Db; var om = db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == PeopleId && m.OrganizationId == OrgId); if (om == null && Member) { om = OrganizationMember.InsertOrgMembers(db, OrgId, PeopleId, MemberTypeCode.Member, DateTime.Now, null, false); } else if (om != null && !Member) { om.Drop(db, CMSImageDataContext.Create(db.Host)); } db.SubmitChanges(); var org = db.LoadOrganizationById(OrgId); if (org != null && org.NotifyIds.HasValue()) { var p = db.LoadPersonById(PeopleId); var what = Member ? "joined" : "dropped"; // db.Email(DbUtil.Db.Util.AdminMail, // db.PeopleFromPidString(org.NotifyIds), // $"cms check-in, {what} class on " + db.CmsHost, // $"<a href='{Util.ServerLink("/Person2/" + PeopleId)}/Person2/{PeopleId}'>{p.Name}</a> {what} {org.OrganizationName}"); DbUtil.LogActivity($"cms check-in, {what} class ({p.PeopleId})"); } }
private static bool Authenticate(string role = "Checkin") { var db = CMSDataContext.Create(HttpContextFactory.Current); var idb = CMSImageDataContext.Create(HttpContextFactory.Current); return(AccountModel.AuthenticateMobile(db, idb, "Checkin").IsValid); }
public static void DoMoveWork(MoveOrgMembersModel model) { var statusContext = CMSDataContext.Create(model.Host); var workerContext = CMSDataContext.Create(model.Host); workerContext.CommandTimeout = 2200; var cul = workerContext.Setting("Culture", "en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cul); LongRunningOperation lop = FetchLongRunningOperation(statusContext, Op, model.QueryId); var orgsPeople = new Dictionary <int, List <int> >(); foreach (var i in model.List) // {personId}.{organizationId} { var a = i.Split('.'); if (a.Length != 2) { continue; } var orgId = a[1].ToInt(); if (orgId == model.TargetId) { continue; } if (!orgsPeople.ContainsKey(orgId)) { orgsPeople[orgId] = new List <int>(); } orgsPeople[orgId].Add(a[0].ToInt()); } foreach (var oid in orgsPeople.Keys) { var peopleIds = orgsPeople[oid]; foreach (var pid in peopleIds) { OrganizationMember.MoveToOrg(workerContext, CMSImageDataContext.Create(workerContext.Host), pid, oid, model.TargetId, model.MoveRegistrationData, model.ChangeMemberType == true ? model.MoveToMemberTypeId : -1); if (lop != null) { lop.Processed++; lop.CustomMessage = $"Working from {pid},{oid} to {model.TargetId}"; statusContext.SubmitChanges(); } } BackgroundRepairTransactions(model.repairExe, oid, workerContext); } BackgroundRepairTransactions(model.repairExe, model.TargetId, workerContext); // finished if (lop != null) { lop.Completed = DateTime.Now; statusContext.SubmitChanges(); } workerContext.UpdateMainFellowship(model.TargetId); }
public RequestManager() { CurrentHttpContext = HttpContextFactory.Current; RequestId = Guid.NewGuid(); CurrentUser = CurrentHttpContext.User; CurrentDatabase = CMSDataContext.Create(CurrentHttpContext); CurrentImageDatabase = CMSImageDataContext.Create(CurrentHttpContext); }
public FakeRequestManager() { CurrentHttpContext = ContextTestUtils.CreateMockHttpContext().Object; CurrentDatabase = CMSDataContext.Create(DatabaseFixture.Host); CurrentImageDatabase = CMSImageDataContext.Create(DatabaseFixture.Host); CurrentUser = CurrentHttpContext.User; RequestId = Guid.NewGuid(); }
public void DropSingleMember(int orgId, int peopleId) { var org = CurrentDatabase.LoadOrganizationById(orgId); var om = org.OrganizationMembers.Single(mm => mm.PeopleId == peopleId); om.Drop(CurrentDatabase, CMSImageDataContext.Create(CurrentDatabase.Host)); CurrentDatabase.SubmitChanges(); }
public FakeRequestManager(bool isAuthenticated) { CurrentHttpContext = ContextTestUtils.CreateMockHttpContext(isAuthenticated).Object; CurrentDatabase = CMSDataContext.Create(DatabaseFixture.Host); CurrentImageDatabase = CMSImageDataContext.Create(DatabaseFixture.Host); CurrentUser = CurrentHttpContext.User; RequestId = Guid.NewGuid(); SessionProvider = new CmsSessionProvider(CurrentDatabase); }
public void DropOrgMember(object pid, object orgId) { db.LogActivity($"PythonModel.DropOrgMember({pid},{orgId})"); using (var db2 = NewDataContext()) { var om = db2.OrganizationMembers.Single(m => m.PeopleId == pid.ToInt() && m.OrganizationId == orgId.ToInt()); om.Drop(db2, CMSImageDataContext.Create(db2.Host)); db2.SubmitChanges(); } }
public RequestManager() { CurrentHttpContext = HttpContextFactory.Current; RequestId = Guid.NewGuid(); CurrentUser = CurrentHttpContext.User; CurrentDatabase = CMSDataContext.Create(CurrentHttpContext); CurrentImageDatabase = CMSImageDataContext.Create(CurrentHttpContext); SessionProvider = new CmsSessionProvider(); CurrentHttpContext.Items["SessionProvider"] = SessionProvider; }
public void DropAllMemberships(CMSDataContext Db) { var list = (from om in Db.OrganizationMembers where om.PeopleId == PeopleId select om).ToList(); foreach (var om in list) { om.Drop(Db, CMSImageDataContext.Create(Db.Host), DateTime.Now); } }
public void InsertTest() { using (var db = CMSImageDataContext.Create(Util.Host)) { var other = NewOther(); db.Others.InsertOnSubmit(other); db.SubmitChanges(); db.Others.Where(o => o.Id == other.Id).Any().ShouldBeTrue(); } }
public void ImageFromIdTest() { var image = CreateJpegImage(); using (var db = CMSImageDataContext.Create(Util.Host)) { db.Images.InsertOnSubmit(image); db.SubmitChanges(); Image.ImageFromId(db, image.Id).ShouldNotBeNull(); } }
public void DeleteOnSubmitTest() { var db = CMSImageDataContext.Create(Util.Host); var image = CreateJpegImage(); db.Images.InsertOnSubmit(image); db.SubmitChanges(); db.DeleteOnSubmit(image.Id); db.SubmitChanges(); db.Images.Where(i => i.Id == image.Id).Any().ShouldBeFalse(); }
public static AuthResult AuthenticateDeveloper(HttpContextBase context, bool shouldLog = false, string additionalRole = "", string altrole = "") { var auth = context.Request.Headers["Authorization"]; var db = CMSDataContext.Create(context); var idb = CMSImageDataContext.Create(context); if (!auth.HasValue()) { return new AuthResult { IsAuthenticated = false, Message = "!API no Authorization Header" } } ; var cred = Encoding.ASCII.GetString( Convert.FromBase64String(auth.Substring(6))).Split(':'); var username = cred[0]; var password = cred[1]; var valid = CMSMembershipProvider.provider.ValidateUser(username, password); if (valid) { var roles = CMSRoleProvider.provider; var isdev = roles.IsUserInRole(username, "Developer"); var isalt = altrole.HasValue() && roles.IsUserInRole(username, altrole); if ((!isdev && !isalt) || (additionalRole.HasValue() && !roles.IsUserInRole(username, additionalRole))) { valid = false; } } User user = null; if (valid) { user = AccountModel.SetUserInfo(db, idb, username); } var message = valid ? $" API {username} authenticated" : $"!API {username} not authenticated"; if (shouldLog) { CmsData.DbUtil.LogActivity(message.Substring(1)); } return(new AuthResult { IsAuthenticated = valid, User = user, Message = message }); } }
public void NewTextFromStringTest() { const string text = "this is a test"; Image image; using (var db = CMSImageDataContext.Create(Util.Host)) { image = Image.NewTextFromString(text, db); } image.Bits.ShouldBe(Encoding.ASCII.GetBytes(text)); image.Mimetype.ShouldBe(mimeTypeText); image.Id.ShouldNotBe(0); }
public void DebugCleanUp() { var q = from om in CurrentDatabase.OrganizationMembers where new[] { 828612, Util.UserPeopleId }.Contains(om.PeopleId) where om.OrganizationId == Orgid select om; foreach (var om in q) { om.Drop(CurrentDatabase, CMSImageDataContext.Create(CurrentDatabase.Host), DateTime.Now); CurrentDatabase.ExecuteCommand("DELETE dbo.EnrollmentTransaction WHERE PeopleId = {0} AND OrganizationId = {1}", om.PeopleId, om.OrganizationId); } CurrentDatabase.SubmitChanges(); }
public string Move(int toid, CMSDataContext db) { if (!PeopleId.HasValue || !OrgId.HasValue) { return("not moved"); } OrganizationMember.MoveToOrg(db, CMSImageDataContext.Create(db.Host), PeopleId.Value, OrgId.Value, toid, MoveRegistrationData); DbUtil.LogActivity("OrgMem Move to " + toid, OrgId, PeopleId); var repairExe = HttpContextFactory.Current.Server.MapPath("~/bin/RepairOrg.exe"); MoveOrgMembersModel.BackgroundRepairTransactions(repairExe, toid, db); MoveOrgMembersModel.BackgroundRepairTransactions(repairExe, OrgId.Value, db); return("moved"); }
public void AssignPending() { if (TargetClassId == 0) { RemoveAssignments(); return; } var db = DbUtil.Db; var t = db.Organizations.SingleOrDefault(o => o.OrganizationId == TargetClassId); if (t == null) { return; } foreach (var i in selected) { var a = i.Split(','); var foid = a[1].ToInt(); var pid = a[0].ToInt(); // this is their membership where they are currently a member var fom = db.OrganizationMembers.Single(m => m.OrganizationId == foid && m.PeopleId == pid); // drop pending in previously assigned to org var prevtoid = fom.GetExtra(db, "PromotingTo").ToInt(); var prevto = db.OrganizationMembers.SingleOrDefault(m => m.OrganizationId == prevtoid && m.PeopleId == pid && m.Pending == true); prevto?.Drop(db, CMSImageDataContext.Create(db.Host)); db.SubmitChanges(); // now put them in the to class as pending member if (t.OrganizationId != fom.OrganizationId) // prevent promoting into the same class as they are currently in { OrganizationMember.InsertOrgMembers(db, t.OrganizationId, a[0].ToInt(), fom.MemberTypeId, // keep their Existing membertype Util.Now, null, true); // record where they will be going fom.AddEditExtraInt("PromotingTo", t.OrganizationId); db.SubmitChanges(); } } db.UpdateMainFellowship(t.OrganizationId); }
public void ContentTest(string contentType, string content) { var db = CMSImageDataContext.Create(Util.Host); var image = new Image { Bits = Encoding.UTF8.GetBytes(content), Mimetype = contentType, Length = content.Length, }; db.Images.InsertOnSubmit(image); db.SubmitChanges(); var expected = contentType.Equals("text/plain") ? content : null; db.Content(image.Id).ShouldBe(expected); }
private void DoWork(OrgSearchDrop model) { var db = CMSDataContext.Create(model.Host); var idb = CMSImageDataContext.Create(model.Host); var cul = db.Setting("Culture", "en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cul); LongRunningOperation lop = null; foreach (var orginfo in model.orginfos) { var pids = (from m in db.OrganizationMembers where m.OrganizationId == orginfo.Id select m.PeopleId ).ToList(); var n = 0; foreach (var pid in pids) { n++; var om = db.OrganizationMembers.Single(mm => mm.PeopleId == pid && mm.OrganizationId == orginfo.Id); if (DropDate.HasValue) { om.Drop(db, idb, DropDate.Value); } else { om.Drop(db, idb); } lop = FetchLongRunningOperation(db, Op, model.QueryId); Debug.Assert(lop != null, "r != null"); lop.Processed++; lop.CustomMessage = $"Working on {orginfo.Name.Truncate(170)}, {n}/{pids.Count}"; db.SubmitChanges(); } var o = db.LoadOrganizationById(orginfo.Id); o.OrganizationStatusId = CmsData.Codes.OrgStatusCode.Inactive; db.SubmitChanges(); } // finished lop = FetchLongRunningOperation(db, Op, model.QueryId); lop.Completed = DateTime.Now; db.SubmitChanges(); }
public void CreateNewTinyImageTest() { Image resized; using (var db = CMSImageDataContext.Create(Util.Host)) { var image = ImageFromResource("CreateNewTinyImageTest"); resized = image.CreateNewTinyImage(db); } resized.Bits.Length.ShouldBe(1249); using (var ms = new MemoryStream(resized.Bits)) { var i = System.Drawing.Image.FromStream(ms); i.Width.ShouldBe(50); i.Height.ShouldBe(50); } }
public string DropOrgMember(int OrgId, int PeopleId) { try { var om = Db.OrganizationMembers.SingleOrDefault(mm => mm.OrganizationId == OrgId && mm.PeopleId == PeopleId); if (om == null) { throw new Exception("no orgmember"); } om.Drop(Db, CMSImageDataContext.Create(Db.Host), DateTime.Now); Db.SubmitChanges(); return(@"<DropOrgMember status=""ok"" />"); } catch (Exception ex) { return($@"<DropOrgMember status=""error"">{HttpUtility.HtmlEncode(ex.Message)}</DropOrgMember>"); } }
public void DeleteTest() { Other other; using (var db = CMSImageDataContext.Create(Util.Host)) { other = NewOther(); db.Others.InsertOnSubmit(other); db.SubmitChanges(); } using (var db = CMSImageDataContext.Create(Util.Host)) { db.Others.DeleteOnSubmit(db.Others.Where(o => o.Id == other.Id).First()); db.SubmitChanges(); db.Others.Where(o => o.Id == other.Id).Any().ShouldBeFalse(); } }
public void SaveUnlayerTemplate_Should_Create_Thumbnail() { var db = CMSImageDataContext.Create(DatabaseFixture.Host); db.ExecuteCommand("DELETE FROM Image"); username = RandomString(); password = RandomString(); var user = CreateUser(username, password, roles: new string[] { "Admin", "Edit", "Access", "Checkin" }); Login(); Wait(3); Open($"{rootUrl}Display/#tab_emailTemplates"); Find(text: "Example Template").Click(); Find(id: "SaveTemplateButton").Click(); Wait(3); db.Images.ShouldNotBeEmpty(); }
private bool ReplacePic(Paragraph pg, string code, DirectoryInfo di) { if (!picre.IsMatch(code)) { return(false); } var m = picre.Match(code); var pic = m.Groups["pic"].Value; var height = m.Groups["height"].Value.ToDouble(); var width = m.Groups["width"].Value.ToDouble(); pg.ReplaceText(code, ""); using (var idb = CMSImageDataContext.Create(HttpContextFactory.Current)) { AddPicture(idb, pg, width, height, pic == "pic" ? di.ImageId : di.FamImageId); } return(true); }
private void RemoveAssignments() { foreach (var i in selected) { var a = i.Split(','); var foid = a[1].ToInt(); var pid = a[0].ToInt(); var db = DbUtil.Db; // this is their membership where they are currently a member var fom = db.OrganizationMembers.Single(m => m.OrganizationId == foid && m.PeopleId == pid); // drop pending in previously assigned to org var prevtoid = fom.GetExtra(db, "PromotingTo").ToInt(); var prevto = db.OrganizationMembers.SingleOrDefault(m => m.OrganizationId == prevtoid && m.PeopleId == pid && m.Pending == true); prevto?.Drop(db, CMSImageDataContext.Create(db.Host)); fom.RemoveExtraValue(db, "PromotingTo"); db.SubmitChanges(); } }
public void Promote(int id) { var db = DbUtil.Db; var p = db.Promotions.Single(pr => pr.Id == id); var fromdiv = p.FromDivId; var q = from om in db.OrganizationMembers where om.Organization.DivOrgs.Any(d => d.DivId == fromdiv) where (om.Pending ?? false) == false let pcid = om.OrgMemberExtras.Where(vv => vv.Field == "PromotingTo").Select(vv => vv.IntValue).SingleOrDefault() let pc = db.OrganizationMembers.FirstOrDefault(op => op.Pending == true && op.PeopleId == om.PeopleId && op.OrganizationId == pcid) where pc != null where om.OrganizationId != pc.OrganizationId // should not promote to same class select new { om, pc }; var list = new Dictionary <int, Organization>(); var qlist = q.ToList(); foreach (var i in qlist) { db.SubmitChanges(); i.om.Drop(db, CMSImageDataContext.Create(db.Host)); db.SubmitChanges(); i.pc.Pending = false; i.pc.EnrollmentDate = DateTime.Now; db.SubmitChanges(); list[i.pc.OrganizationId] = i.pc.Organization; } foreach (var o in list.Values) { if (o.PendingLoc.HasValue()) { o.Location = o.PendingLoc; o.PendingLoc = null; } } db.SubmitChanges(); }
private static void DoWork(OrgDrop model) { var db = CMSDataContext.Create(model.Host); var idb = CMSImageDataContext.Create(model.Host); var cul = db.Setting("Culture", "en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cul); LongRunningOperation lop = null; foreach (var pid in model.Pids) { var om = db.OrganizationMembers.Single(mm => mm.PeopleId == pid && mm.OrganizationId == model.filter.Id); if (model.DropDate.HasValue) { om.Drop(db, idb, model.DropDate.Value); } else { om.Drop(db, idb); } db.SubmitChanges(); if (model.RemoveFromEnrollmentHistory) { db.ExecuteCommand("DELETE dbo.EnrollmentTransaction WHERE PeopleId = {0} AND OrganizationId = {1}", pid, model.filter.Id); } lop = FetchLongRunningOperation(db, Op, model.QueryId); Debug.Assert(lop != null, "r != null"); lop.Processed++; db.SubmitChanges(); db.LogActivity($"Org{model.DisplayGroup} Drop{(model.RemoveFromEnrollmentHistory ? " w/history" : "")}", model.filter.Id, pid, uid: model.UserId); } // finished lop = FetchLongRunningOperation(db, Op, model.QueryId); lop.Completed = DateTime.Now; db.SubmitChanges(); }