예제 #1
0
파일: PersonModel.cs 프로젝트: hkouns/bvcms
 public List<ChangeLogInfo> details(ChangeLog log, string name)
 {
     var list = new List<ChangeLogInfo>();
     var re = new Regex("<tr><td>(?<field>[^<]+)</td><td>(?<before>[^<]*)</td><td>(?<after>[^<]*)</td></tr>", RegexOptions.Singleline);
     Match matchResult = re.Match(log.Data);
     var FieldSet = log.Field;
     var pf = PersonOrFamily(FieldSet);
     DateTime? Time = log.Created;
     while (matchResult.Success)
     {
         var After = matchResult.Groups["after"].Value;
         var Field = matchResult.Groups["field"].Value;
         var c = new ChangeLogInfo
         {
             User = name,
             FieldSet = FieldSet,
             Time = Time,
             Field = Field,
             Before = matchResult.Groups["before"].Value,
             After = After,
             pf = pf,
             Reversable = FieldEqual(pf, Field, After)
         };
         list.Add(c);
         FieldSet = "";
         name = "";
         Time = null;
         matchResult = matchResult.NextMatch();
     }
     return list;
 }
예제 #2
0
        public void LogPictureUpload(CMSDataContext Db, int PeopleId, int UserPeopleId)
        {
            var c = new ChangeLog
            {
                UserPeopleId = UserPeopleId,
                PeopleId     = PeopleId,
                FamilyId     = FamilyId,
                Field        = "Family",
                Created      = Util.Now
            };

            Db.ChangeLogs.InsertOnSubmit(c);
            c.ChangeDetails.Add(new ChangeDetail("Picture", null, "(new upload)"));
        }
예제 #3
0
파일: Family.cs 프로젝트: lightyeare/bvcms
 public void LogChanges(CMSDataContext Db, List <ChangeDetail> changes, int PeopleId, int UserPeopleId)
 {
     if (changes.Count > 0)
     {
         var c = new ChangeLog
         {
             FamilyId     = FamilyId,
             UserPeopleId = UserPeopleId,
             PeopleId     = PeopleId,
             Field        = "Family",
             Created      = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
         c.ChangeDetails.AddRange(changes);
     }
 }
예제 #4
0
 public void LogChanges(CMSDataContext Db, StringBuilder fsb, int PeopleId, int UserPeopleId)
 {
     if (fsb.Length > 0)
     {
         var c = new ChangeLog
         {
             FamilyId     = FamilyId,
             UserPeopleId = UserPeopleId,
             PeopleId     = PeopleId,
             Field        = "Family",
             Data         = "<table>\n" + fsb.ToString() + "</table>",
             Created      = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
     }
 }
예제 #5
0
파일: Family.cs 프로젝트: vs06/bvcms
 public void LogPictureUpload(CMSDataContext Db, int PeopleId, int UserPeopleId)
 {
     var c = new ChangeLog
     {
         UserPeopleId = UserPeopleId,
         PeopleId = PeopleId,
         FamilyId = FamilyId,
         Field = "Family",
         Created = Util.Now
     };
     Db.ChangeLogs.InsertOnSubmit(c);
     c.ChangeDetails.Add(new ChangeDetail("Picture", null, "(new upload)"));
 }
예제 #6
0
파일: Family.cs 프로젝트: vs06/bvcms
 public void LogChanges(CMSDataContext Db, List<ChangeDetail> changes, int PeopleId, int UserPeopleId)
 {
     if (changes.Count > 0)
     {
         var c = new ChangeLog
         {
             FamilyId = FamilyId,
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Family",
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
         c.ChangeDetails.AddRange(changes);
     }
 }
예제 #7
0
파일: Person.cs 프로젝트: alexserdyuk/bvcms
 public void LogChanges(CMSDataContext Db, List<ChangeDetail> changes, int UserPeopleId)
 {
     if (changes.Count > 0)
     {
         var c = new ChangeLog
         {
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Basic Info",
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
         c.ChangeDetails.AddRange(changes.Where(x => Db.ChangeDetails.GetOriginalEntityState(x) == null));
     }
 }
예제 #8
0
파일: Family.cs 프로젝트: hkouns/bvcms
 public void LogPictureUpload(CMSDataContext Db, int PeopleId, int UserPeopleId)
 {
     var c = new ChangeLog
     {
         UserPeopleId = UserPeopleId,
         PeopleId = PeopleId,
         FamilyId = FamilyId,
         Field = "Family",
         Data = "<table>\n<tr><td>Picture</td><td></td><td>(new upload)</td></tr>\n</table>",
         Created = Util.Now
     };
     Db.ChangeLogs.InsertOnSubmit(c);
 }
예제 #9
0
파일: Family.cs 프로젝트: hkouns/bvcms
 public void LogChanges(CMSDataContext Db, string changes, int PeopleId, int UserPeopleId)
 {
     if (changes.HasValue())
     {
         var c = new ChangeLog
         {
             FamilyId = FamilyId,
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Family",
             Data = "<table>\n{0}</table>".Fmt(changes),
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
     }
 }
예제 #10
0
        public void UpdateAddress(ModelStateDictionary ModelState)
        {
            if (ResCodeId == 0)
                ResCodeId = null;
            var p = DbUtil.Db.LoadPersonById(PeopleId);
            var f = p.Family;

            var addrok = false;
            if (City.HasValue() && State.HasValue())
                addrok = true;
            if (Zip.HasValue())
                addrok = true;
            if (!City.HasValue() && !State.HasValue() && !Zip.HasValue())
                addrok = true;
            if (!addrok)
                ModelState.AddModelError("zip", "city/state required or zip required (or \"na\" in all)");

            if (Address1.HasValue() && (City.HasValue() || State.HasValue() || Zip.HasValue())
                && (Country == "United States" || !Country.HasValue()))
            {
                var r = AddressVerify.LookupAddress(Address1, Address2, City, State, Zip);
                if (r.Line1 != "error")
                {
                    if (r.found == false)
                    {
                        ModelState.AddModelError("zip", r.address + ", if your address will not validate, change the country to 'USA, Not Validated'");
                        return;
                    }
                    if (r.Line1 != Address1)
                    {
                        ModelState.AddModelError("address1", "address changed from '{0}'".Fmt(Address1));
                        Address1 = r.Line1;
                    }
                    if (r.Line2 != (Address2 ?? ""))
                    {
                        ModelState.AddModelError("address2", "address2 changed from '{0}'".Fmt(Address2));
                        Address2 = r.Line2;
                    }
                    if (r.City != (City ?? ""))
                    {
                        ModelState.AddModelError("city", "city changed from '{0}'".Fmt(City));
                        City = r.City;
                    }
                    if (r.State != (State ?? ""))
                    {
                        ModelState.AddModelError("state", "state changed from '{0}'".Fmt(State));
                        State = r.State;
                    }
                    if (r.Zip != (Zip ?? ""))
                    {
                        ModelState.AddModelError("zip", "zip changed from '{0}'".Fmt(Zip));
                        Zip = r.Zip;
                    }
                    if (!ModelState.IsValid)
                        return;
                }
            }

            switch (Name)
            {
                case "FamilyAddr":
                    UpdateValue(f, "AddressLineOne", Address1);
                    UpdateValue(f, "AddressLineTwo", Address2);
                    UpdateValue(f, "AddressToDate", ToDt);
                    UpdateValue(f, "CityName", City);
                    UpdateValue(f, "StateCode", State);
                    UpdateValue(f, "ResCodeId", ResCodeId);
                    UpdateValue(f, "ZipCode", Zip ?? "");
                    UpdateValue(f, "CountryName", Country);
                    if (Preferred)
                        UpdateValue(p, "AddressTypeId", 10);
                    if (fsb.Length > 0)
                        BadAddress = false;
                    UpdateValue(f, "BadAddressFlag", BadAddress);
                    break;
                case "PersonalAddr":
                    UpdateValue(p, "AddressLineOne", Address1);
                    UpdateValue(p, "AddressLineTwo", Address2);
                    UpdateValue(p, "AddressToDate", ToDt);
                    UpdateValue(p, "CityName", City);
                    UpdateValue(p, "StateCode", State);
                    UpdateValue(p, "ResCodeId", ResCodeId);
                    UpdateValue(p, "ZipCode", Zip ?? "");
                    UpdateValue(p, "CountryName", Country);
                    if (Preferred)
                        UpdateValue(p, "AddressTypeId", 30);
                    if (psb.Length > 0)
                        BadAddress = false;
                    UpdateValue(p, "BadAddressFlag", BadAddress);
                    break;
            }
            if (psb.Length > 0)
            {
                var c = new ChangeLog
                {
                    UserPeopleId = Util.UserPeopleId.Value,
                    PeopleId = PeopleId,
                    Field = Name,
                    Data = "<table>\n" + psb + "</table>",
                    Created = Util.Now
                };
                DbUtil.Db.ChangeLogs.InsertOnSubmit(c);
            }
            if (fsb.Length > 0)
            {
                var c = new ChangeLog
                {
                    FamilyId = p.FamilyId,
                    UserPeopleId = Util.UserPeopleId.Value,
                    PeopleId = PeopleId,
                    Field = Name,
                    Data = "<table>\n" + fsb + "</table>",
                    Created = Util.Now
                };
                DbUtil.Db.ChangeLogs.InsertOnSubmit(c);
            }
            try
            {
                DbUtil.Db.SubmitChanges();
            }
            catch (InvalidOperationException ex)
            {
                ModelState.AddModelError("error", ex.Message);
            }

            if (!HttpContext.Current.User.IsInRole("Access"))
                if (psb.Length > 0 || fsb.Length > 0)
                {
                    DbUtil.Db.EmailRedacted(p.FromEmail, DbUtil.Db.GetNewPeopleManagers(),
                        "Address Info Changed",
                        "{0} changed the following information:<br />\n<table>{1}{2}</table>"
                        .Fmt(Util.UserName, psb.ToString(), fsb.ToString()));
                }
        }
예제 #11
0
파일: Person.cs 프로젝트: hkouns/bvcms
 public void LogChanges(CMSDataContext Db, string changes, int UserPeopleId)
 {
     if (changes.HasValue())
     {
         var c = new ChangeLog
         {
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Basic Info",
             Data = "<table>\n" + changes + "</table>",
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
     }
 }
예제 #12
0
파일: Family.cs 프로젝트: rossspoon/bvcms
 public void LogChanges(CMSDataContext Db, StringBuilder fsb, int PeopleId, int UserPeopleId)
 {
     if (fsb.Length > 0)
     {
         var c = new ChangeLog
         {
             FamilyId = FamilyId,
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Family",
             Data = "<table>\n" + fsb.ToString() + "</table>",
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
     }
 }
예제 #13
0
 public void LogPictureUpload(CMSDataContext db, int UserPeopleId)
 {
     var c = new ChangeLog
     {
         UserPeopleId = UserPeopleId,
         PeopleId = PeopleId,
         Field = "Basic Info",
         Created = Util.Now
     };
     db.ChangeLogs.InsertOnSubmit(c);
     c.ChangeDetails.Add(new ChangeDetail("Picture", null, "(new upload)"));
     var np = db.GetNewPeopleManagers();
     if (np != null)
         db.EmailRedacted(db.Setting("AdminMail", "*****@*****.**"), np,
             "Picture Uploaded on " + Util.Host,
             $"{Util.UserName} Uploaded a picture for <a href=\"{db.ServerLink($"/Person2/{PeopleId}")}\">{Name}</a><br />\n");
 }
예제 #14
0
파일: Person.cs 프로젝트: rossspoon/bvcms
 public void LogChanges(CMSDataContext Db, StringBuilder psb, int UserPeopleId)
 {
     if (psb.Length > 0)
     {
         var c = new ChangeLog
         {
             UserPeopleId = UserPeopleId,
             PeopleId = PeopleId,
             Field = "Basic Info",
             Data = "<table>\n" + psb.ToString() + "</table>",
             Created = Util.Now
         };
         Db.ChangeLogs.InsertOnSubmit(c);
     }
 }