public void Record(string message, int actionType, string userId)
        {
            try
            {
                string auditActionId = DetermineActionId(actionType);

                if (auditActionId != INVALID_ACTION)
                {
                    string id = CreateProperId(message, actionType);

                    AuditTrail auditTrail = new AuditTrail()
                    {
                        AuditTrailId   = id,
                        AccountId      = userId,
                        AuditActionsId = auditActionId,
                        Message        = message,
                        DateAction     = DateTime.Now
                    };

                    entities.AuditTrails.Add(auditTrail);
                    entities.SaveChanges();
                }
            }
            catch (Exception e) { }
        }
Ejemplo n.º 2
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            AppUser AppUser = new AppUser();

            if (AppUser.LoadByPrimaryKey(txtUserId.Text.Trim()))
            {
                if (AppUser.Password == AEScipher.Encrypt(txtUserId.Text, txtPassword.Text))
                {
                    HttpContext.Current.Session["UserId"]   = AppUser.UserID;
                    HttpContext.Current.Session["UserName"] = AppUser.UserName;

                    AuditTrail AuditTrail = new AuditTrail();
                    string     itemAction = "Login per Tanggal : " + DateTime.Now.ToShortDateString() + " , untuk UserID : " + AppUser.UserID;
                    if (itemAction.Length > 200)
                    {
                        itemAction = itemAction.Substring(0, 200);
                    }
                    AuditTrail.ItemAction = itemAction;
                    AuditTrail.Aksi       = "LOGIN";
                    AuditTrail.DateAction = DateTime.Now;
                    AuditTrail.Save();
                    Response.Redirect("~/Default.aspx");
                }
                else
                {
                    return;
                }
            }
            else
            {
                return;
            }
        }
        public ActionResult Delete(PrimarySchoolStudent model)
        {
            try
            {
                // TODO: Add delete logic here
                SecondarySchoolStudent theStudent = work.SecondarySchoolStudentRepository.GetByID(model.PersonID);
                string firstName = model.FirstName;
                string lastName  = model.LastName;
                work.SecondarySchoolStudentRepository.Delete(theStudent);
                Membership.DeleteUser(Convert.ToString(theStudent.UserID));
                work.Save();
                if (User.Identity.Name != "5000001")
                {
                    AuditTrail audit = new AuditTrail {
                        Date = DateTime.Now, Action = "Student was Deleted,  First Name:-" + firstName + " Last Name:-" + lastName, UserID = User.Identity.Name
                    };
                    work.AuditTrailRepository.Insert(audit);
                    work.Save();
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public void LogAudit(int ActionId, string Remark, string AffectedWebPage, string UserId)
        {
            string ipAddress = string.Empty;

            if (httpContext.HttpContext.Connection.RemoteIpAddress != null)
            {
                ipAddress = httpContext.HttpContext.Connection.RemoteIpAddress.ToString();
            }
            else
            {
                ipAddress = httpContext.HttpContext.Connection.LocalIpAddress.ToString();
            }
            AuditTrail auditTrail = new AuditTrail
            {
                ActionDate      = DateTime.Now,
                ActionId        = ActionId,
                AffectedWebPage = AffectedWebPage,
                Ipaddress       = ipAddress,
                Remark          = Remark,
                UserId          = UserId
            };

            dbContext.AuditTrail.Add(auditTrail);
            dbContext.SaveChanges();
        }
Ejemplo n.º 5
0
        public Leerlijnenpakket(
            Guid id,
            Guid nummer,
            string naam,
            DateTime invuldatum,
            bool definitief,
            IEnumerable <Leerlijn> leerlijnen,
            AuditTrail <Leerlijnenpakket> auditTrail)
        {
            Contract.Requires(!string.IsNullOrWhiteSpace(naam), "Naam leerlijnenpakket is null of leeg");
            Contract.Requires(leerlijnen != null, "Leerlijnen is null");

            // vakgebieden waarnaar de leerlijnen verwijzen moeten uniek zijn binnen het leerlijnenpakket
            Contract.Requires(
                leerlijnen == null ||
                Contract.ForAll(
                    leerlijnen,
                    leerlijn => !leerlijnen.Where(ll => ll != leerlijn).Select(ll => ll.Vakgebied)
                    .Contains(leerlijn.Vakgebied)));
            Contract.Requires(auditTrail != null);

            Id         = id;
            Nummer     = nummer;
            Naam       = naam;
            Invuldatum = invuldatum;
            Definitief = definitief;
            Leerlijnen = leerlijnen;
            AuditTrail = auditTrail;
        }
        private object prepareJsonObject(AuditTrail v)
        {
            Dictionary <string, object> newData = null;
            Dictionary <string, object> oldData = null;

            if (v.NewData != null)
            {
                newData = JsonConvert.DeserializeObject <Dictionary <string, object> >(v.NewData);
            }

            if (v.OldData != null)
            {
                oldData = JsonConvert.DeserializeObject <Dictionary <string, object> >(v.OldData);
            }

            var filteredNew = sanitizerData(v.EntityName, newData);
            var filteredOld = sanitizerData(v.EntityName, oldData);

            if ((filteredNew != null && filteredNew.Count > 0) || (filteredOld != null && filteredOld.Count > 0))
            {
                var summary = string.Format("On {0} {1}, {2} was {3} by {4}", v.RevisionStamp.ToLongDateString(), v.RevisionStamp.ToLongTimeString(), v.EntityName, v.Action.ConvertActionCodeToName(), v.UserName);

                return(new { summary, newData = filteredNew, oldData = filteredOld });
            }

            return(null);
        }
Ejemplo n.º 7
0
        public Leerlijn(
            Guid id,
            Vakgebied vakgebied,
            IEnumerable <Deellijn> deellijnen,
            AuditTrail <Leerlijn> auditTrail)
        {
            Contract.Requires(vakgebied != null, "vakgebied is null");

            Contract.Requires(
                deellijnen != null &&
                Contract.ForAll(deellijnen, deellijn => deellijn != null),
                "deellijnen is null");
            Contract.Requires(
                deellijnen == null ||
                Contract.ForAll(
                    deellijnen,
                    deellijn => deellijn == null ||
                    deellijn.Deelgebied != null),
                "deelgebied in deellijn is null");
            Contract.Requires(
                deellijnen == null ||
                Contract.ForAll(
                    deellijnen,
                    deellijn => deellijn == null ||
                    deellijn.Deelgebied == null ||
                    !deellijnen.Where(dl => dl != deellijn).Select(dl => dl.Deelgebied)
                    .Contains(deellijn.Deelgebied)),
                "deelgebieden waarnaar deellijnen verwijzen moeten uniek zijn binnen de leerlijn");
            Contract.Requires(auditTrail != null);

            Id         = id;
            Vakgebied  = vakgebied;
            Deellijnen = deellijnen;
            AuditTrail = auditTrail;
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> Update(AdminRegisterViewModel model)
        {
            using (var context = new AppDbContext())
            {
                var oldUser = context.Users.FirstOrDefault(u => u.Id == model.Id);
                if (oldUser == null)
                {
                    return(HttpNotFound());
                }
                oldUser.PhoneNumber   = model.PhoneNumber;
                oldUser.Email         = model.Email;
                oldUser.AccountNumber = model.AccountNumber;


                var audit = new AuditTrail
                {
                    Date   = DateTime.Now,
                    Title  = "Updated User Datil",
                    Detail = $"Update the details of {oldUser.AgentName}",
                    RefUrl = Url.Action("Manage", new { oldUser.Id })
                };
                context.AuditTrails.Add(audit);

                context.SaveChanges();

                ShowMessage("User updated", AlertType.Success);
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 9
0
        public ActionResult deallocate(int id)
        {
            DeviceInfo deviceInfo = _context.DeviceInfo.FirstOrDefault(d => d.DeviceId == id);
            var        employeeId = deviceInfo.EmployeeId;

            deviceInfo.AssignedDate = null;
            deviceInfo.EmployeeId   = null;
            deviceInfo.AssignedBy   = null;
            deviceInfo.IsAssigned   = false;
            _context.DeviceInfo.Update(deviceInfo);
            _context.SaveChanges();

            //Update Deallocated device in audit trail
            AuditTrail auditTrailInfo = new AuditTrail();

            auditTrailInfo.AuditId    = 0;
            auditTrailInfo.UniqueCode = deviceInfo.UniqueCode;
            var query = _context.EmployeeInfo
                        .Where(v => v.EmployeeId == employeeId)
                        .Select(v => v.EmployeeEmail).ToList();

            auditTrailInfo.EmployeeEmail = query[0];
            auditTrailInfo.Date          = DateTime.Now;
            _context.AuditTrail.Update(auditTrailInfo);
            _context.SaveChanges();
            return(Ok(deviceInfo));
        }
Ejemplo n.º 10
0
        public static void CreateAuditTrailForDelete <E>(E entity, ApplicationData app) where E : IEntityObject
        {
            StringBuilder oldValues = new StringBuilder("Deleted Values :" + Environment.NewLine);

            foreach (var prop in entity.Details.Properties.All().OfType <IEntityStorageProperty>())
            {
                if (app.AuditExcludes.Where(Exclude => Exclude.propName == prop.Name).Count() < 1)
                {
                    AuditTrail auditRecord = app.AuditTrails.AddNew();
                    auditRecord.ChangeType     = "Deleted";
                    auditRecord.Updated        = DateTime.Now;
                    auditRecord.ChangedBy      = Application.Current.User.Name + ";" + Application.Current.User.FullName;
                    auditRecord.ReferenceId    = (int)entity.Details.Properties["Id"].Value;
                    auditRecord.ReferenceType  = entity.Details.EntitySet.Details.Name;
                    auditRecord.ReferenceProp  = prop.Name;
                    auditRecord.OriginalValues = Convert.ToString(prop.OriginalValue); //prop.OriginalValue.ToString();
                }
            }

            foreach (var prop in entity.Details.Properties.All().OfType <IEntityReferenceProperty>())
            {
                if (app.AuditExcludes.Where(Exclude => Exclude.propName == prop.Name).Count() < 1)
                {
                    AuditTrail auditRecord = app.AuditTrails.AddNew();
                    auditRecord.ChangeType     = "Deleted";
                    auditRecord.Updated        = DateTime.Now;
                    auditRecord.ChangedBy      = Application.Current.User.Name + ";" + Application.Current.User.FullName;
                    auditRecord.ReferenceId    = (int)entity.Details.Properties["Id"].Value;
                    auditRecord.ReferenceType  = entity.Details.EntitySet.Details.Name;
                    auditRecord.ReferenceProp  = prop.Name;
                    auditRecord.OriginalValues = Convert.ToString(prop.OriginalValue); //prop.OriginalValue.ToString();
                }
            }
        }
Ejemplo n.º 11
0
        public ActionResult Delete(Store model)
        {
            try
            {
                // TODO: Add delete logic here
                string name         = model.ItemName;
                Store  theStoreItem = work.StoreRepository.GetByID(model.StoreID);

                work.StoreRepository.Delete(theStoreItem);
                work.Save();
                if (User.Identity.Name != "5000001")
                {
                    AuditTrail audit = new AuditTrail {
                        Date = DateTime.Now, Action = "Deleted an Item in the Store ,Item Name :-" + name, UserID = User.Identity.Name
                    };
                    work.AuditTrailRepository.Insert(audit);
                    work.Save();
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 12
0
        public ActionResult Create(Store model)
        {
            if (String.IsNullOrEmpty(model.Level))
            {
                model.Level = "";
            }
            try
            {
                if (!(ModelState.IsValid))
                {
                    return(View(model));
                }

                model.DateEntered = DateTime.Now;
                work.StoreRepository.Insert(model);
                work.Save();
                if (User.Identity.Name != "5000001")
                {
                    AuditTrail audit = new AuditTrail {
                        Date = DateTime.Now, Action = "Added an Item in the Store ,Item Name :-" + model.ItemName, UserID = User.Identity.Name
                    };
                    work.AuditTrailRepository.Insert(audit);
                    work.Save();
                }
                // TODO: Add insert logic here


                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 13
0
        public ActionResult Delete(Parent model)
        {
            try
            {
                // TODO: Add delete logic here
                string firstName = model.FirstName;
                string lastName  = model.LastName;
                Parent theParent = work.ParentRepository.GetByID(model.ParentID);
                int    pID       = theParent.ParentID;

                List <PrimarySchoolStudent> thePri = work.PrimarySchoolStudentRepository.Get(a => a.ParentID == pID).ToList();
                foreach (PrimarySchoolStudent p in thePri)
                {
                    p.Parent   = null;
                    p.ParentID = null;
                }
                work.ParentRepository.Delete(theParent);
                work.Save();
                Membership.DeleteUser(Convert.ToString(theParent.UserID));
                if (User.Identity.Name != "5000001")
                {
                    AuditTrail audit = new AuditTrail {
                        Date = DateTime.Now, Action = "Parent was Deleted First Name:-" + firstName + "  Last Name:-" + lastName, UserID = User.Identity.Name
                    };
                    work.AuditTrailRepository.Insert(audit);
                    work.Save();
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 14
0
 public ActionResult Edit(Store model)
 {
     if (String.IsNullOrEmpty(model.Level))
     {
         model.Level = "";
     }
     try
     {
         if (ModelState.IsValid)
         {
             work.StoreRepository.Update(model);
             work.Save();
             // TODO: Add update logic here
             if (User.Identity.Name != "5000001")
             {
                 AuditTrail audit = new AuditTrail {
                     Date = DateTime.Now, Action = "Edited an Item in the Store ,Item Name :-" + model.ItemName, UserID = User.Identity.Name
                 };
                 work.AuditTrailRepository.Insert(audit);
                 work.Save();
             }
         }
     }
     catch (DataException)
     {
         //Log the error (add a variable name after DataException)
         ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
     }
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 15
0
        public ActionResult Delete(NewsBoard model)
        {
            try
            {
                NewsBoard theNews = work.NewsBoardRepository.GetByID(model.NewsBoardID);

                work.NewsBoardRepository.Delete(theNews);
                work.Save();
                if (User.Identity.Name != "5000001")
                {
                    AuditTrail audit = new AuditTrail {
                        Date = DateTime.Now, Action = "Deleted a news from the news Board", UserID = User.Identity.Name
                    };
                    work.AuditTrailRepository.Insert(audit);
                    work.Save();
                }
                // TODO: Add delete logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 16
0
        public ActionResult Edit(NewsBoard model)
        {
            model.Date = DateTime.Now;
            try
            {
                if (ModelState.IsValid)
                {
                    work.NewsBoardRepository.Update(model);
                    work.Save();
                    if (User.Identity.Name != "5000001")
                    {
                        AuditTrail audit = new AuditTrail {
                            Date = DateTime.Now, Action = "Created a News on News Board", UserID = User.Identity.Name
                        };
                        work.AuditTrailRepository.Insert(audit);
                        work.Save();
                    }
                    // TODO: Add update logic here

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(model));
                }
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 17
0
        public Adres(
            Guid id,
            Adressoort adressoort,
            bool isGeheim,
            FSharpOption <string> straatnaam,
            FSharpOption <int> huisnummer,
            FSharpOption <string> huisnummertoevoeging,
            FSharpOption <string> huisnummeraanduiding,
            FSharpOption <string> postcode,
            FSharpOption <string> plaatsnaam,
            FSharpOption <string> locatieomschrijving,
            FSharpOption <string> adresregelBuitenland1,
            FSharpOption <string> adresregelBuitenland2,
            FSharpOption <string> adresregelBuitenland3,
            Land land,
            AuditTrail <Adres> auditTrail)
        {
            Id                   = id;
            Adressoort           = adressoort;
            IsGeheim             = isGeheim;
            Straatnaam           = straatnaam;
            Huisnummer           = huisnummer;
            Huisnummertoevoeging = huisnummertoevoeging;
            Huisnummeraanduiding = huisnummeraanduiding;
            Postcode             = postcode;
            Plaatsnaam           = plaatsnaam;
            Locatieomschrijving  = locatieomschrijving;

            AdresregelBuitenland1 = adresregelBuitenland1;
            AdresregelBuitenland2 = adresregelBuitenland2;
            AdresregelBuitenland3 = adresregelBuitenland3;
            Land       = land;
            AuditTrail = auditTrail;
        }
Ejemplo n.º 18
0
        public static void CreateAuditTrailForInsert <E>(E entity, ApplicationData app) where E : IEntityObject
        {
            StringBuilder newValues = new StringBuilder("Inserted Values :" + Environment.NewLine);

            foreach (var prop in entity.Details.Properties.All().OfType <IEntityStorageProperty>())
            {
                if (prop.Name != "Id" && prop.Name != "RowVersion" && prop.Name != "Modified" && prop.Name != "ModifiedBy" && prop.Name != "Created" && prop.Name != "CreatedBy" && prop.Name != "isVerifyOnly")
                {
                    AuditTrail auditRecord = app.AuditTrails.AddNew();
                    auditRecord.ChangeType    = "Inserted";
                    auditRecord.ReferenceId   = (int)entity.Details.Properties["Id"].Value;
                    auditRecord.ReferenceType = entity.Details.EntitySet.Details.Name;
                    auditRecord.Updated       = DateTime.Now;
                    auditRecord.ChangedBy     = Application.Current.User.FullName;
                    auditRecord.ReferenceProp = prop.Name;
                    auditRecord.NewValues     = prop.Value.ToString();
                }
            }

            foreach (var prop in entity.Details.Properties.All().OfType <IEntityReferenceProperty>())
            {
                if (prop.Name != "Id" && prop.Name != "RowVersion" && prop.Name != "Modified" && prop.Name != "ModifiedBy" && prop.Name != "Created" && prop.Name != "CreatedBy" && prop.Name != "isVerifyOnly")
                {
                    AuditTrail auditRecord = app.AuditTrails.AddNew();
                    auditRecord.ChangeType    = "Inserted";
                    auditRecord.ReferenceId   = (int)entity.Details.Properties["Id"].Value;
                    auditRecord.ReferenceType = entity.Details.EntitySet.Details.Name;
                    auditRecord.Updated       = DateTime.Now;
                    auditRecord.ChangedBy     = Application.Current.User.FullName;
                    auditRecord.ReferenceProp = prop.Name;
                    auditRecord.NewValues     = prop.Value.ToString();
                }
            }
        }
Ejemplo n.º 19
0
        //public JsonResult OnGet(int id)
        //{
        //    AuditTrail SD = new AuditTrail(_context);
        //    var AuditTrail = SD.GetAudit(id);
        //    return new JsonResult(AuditTrail);
        //}
        public JsonResult OnGetAsync(int id)
        {
            AuditTrail SD         = new AuditTrail(_context);
            var        AuditTrail = SD.GetAudit(id);

            return(new JsonResult(AuditTrail));
        }
Ejemplo n.º 20
0
 void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
 {
     // TODO: Add your acction filter's tasks here
     // Log Action Filter Call
     try
     {
         if (Settings.Default.PerformGlobalAudit == true)
         {
             AuditTrail Trail = new AuditTrail();
             Trail.SessionID      = filterContext.HttpContext.Session.SessionID.ToString();
             Trail.UserID         = ((filterContext.HttpContext.User.Identity.Name != null) || (filterContext.HttpContext.User.Identity.Name != "")) ? filterContext.HttpContext.User.Identity.Name : "Guest";
             Trail.PageURL        = filterContext.HttpContext.Request.RawUrl;
             Trail.UserIP         = filterContext.HttpContext.Request.UserHostAddress;
             Trail.Location       = "N/A";
             Trail.BrowserType    = filterContext.HttpContext.Request.Browser.Type;
             Trail.BrowserVersion = filterContext.HttpContext.Request.Browser.Version;
             Trail.DateTimeStamp  = DateTime.Now;
             db.AuditTrail.Add(Trail);
             db.SaveChanges();
         }
         this.OnActionExecuting(filterContext);
     }
     catch (Exception ex)
     {
         //////Elmah.Log Error
         string exxe = ex.Message;
     }
 }
Ejemplo n.º 21
0
 public void Insert(AuditTrail model)
 {
     using (var dataAccess = new AuditTrailDataAccess(_connectionString))
     {
         dataAccess.Insert(model);
     }
 }
Ejemplo n.º 22
0
        public async Task <IActionResult> PutAuditTrail(int id, AuditTrail auditTrail)
        {
            if (id != auditTrail.Id)
            {
                return(BadRequest());
            }

            _context.Entry(auditTrail).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AuditTrailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 23
0
        public async Task <ActionResult <AuditTrail> > PostAuditTrail(AuditTrail auditTrail)
        {
            _context.AuditTrail.Add(auditTrail);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAuditTrail", new { id = auditTrail.Id }, auditTrail));
        }
Ejemplo n.º 24
0
        public async Task CreateAudit <TEntity>(TEntity entity, AuditType action) where TEntity : class, IEntityBase, IAuditDescriptionBase
        {
            var type  = entity.GetType();
            var trail = new AuditTrail()
            {
                EntityId    = $"{entity.GetId()}",
                Action      = Enum.GetName(typeof(AuditType), action),
                Entity      = type.Name,
                Description = entity.GetAuditDescription(action)
            };
            var entry = Db.Entry(entity);

            var props = from prop in type.GetProperties()
                        let info                     = prop.PropertyType.GetTypeInfo()
                                             let map = prop.GetCustomAttributes(typeof(NotMappedAttribute), true)
                                                       // let empty = prop.GetCustomAttributes(typeof(ByPassAttribute), true)
                                                       where prop.Name != "Id" && (info.IsValueType ||
                                                                                   prop.PropertyType.IsAssignableFrom(typeof(string))) &&
                                                       !map.Any()
                                                       select prop;

            switch (action)
            {
            case AuditType.Create:
                trail.NewValues = props.Aggregate(new StringBuilder(Environment.NewLine),
                                                  (s, prop) => s.AppendLine($"{prop.Name}: {entry.CurrentValues[prop.Name]}")).ToString();
                break;

            case AuditType.Update:

                var original = await entry.GetDatabaseValuesAsync();

                props = from prop in props
                        where !Equals(entry.CurrentValues[prop.Name], original[prop.Name])
                        select prop;

                trail.NewValues = props.Aggregate(new StringBuilder(Environment.NewLine),
                                                  (s, prop) => s.AppendLine($"{prop.Name}: {entry.CurrentValues[prop.Name]}")).ToString();

                trail.OriginalValues = props.Aggregate(new StringBuilder(Environment.NewLine),
                                                       (s, prop) => s.AppendLine($"{prop.Name}: {original[prop.Name]}")).ToString();

                break;

            case AuditType.Delete:
                trail.OriginalValues = props.Aggregate(new StringBuilder(Environment.NewLine),
                                                       (s, prop) => s.AppendLine($"{prop.Name}: {entry.CurrentValues[prop.Name]}")).ToString();
                break;

            case AuditType.Authorize:
            case AuditType.Suspend:
            case AuditType.Resume:
            case AuditType.List:
            case AuditType.View:
            default:
                break;
            }
            Db.AuditTrails.Add(trail);
            await Db.SaveChangesAsync();
        }
Ejemplo n.º 25
0
        public override Task <int> SaveChangesAsync()
        {
            auditList.Clear();
            _auditFactory = new AuditTrailFactory(this);

            var entityList = ChangeTracker.Entries().Where(p =>
                                                           p.State == EntityState.Added ||
                                                           p.State == EntityState.Deleted ||
                                                           p.State == EntityState.Modified ||
                                                           !(p.Entity is AuditTrail) ||
                                                           p.Entity != null);

            foreach (var entity in entityList)
            {
                AuditTrail audit = _auditFactory.GetAudit(entity);
                auditList.Add(audit);
            }

            //var retVal = base.SaveChanges();

            if (auditList.Count > 0)
            {
                auditList.ForEach(p => { Audit.Add(p); });

                //base.SaveChanges();
            }

            return(base.SaveChangesAsync());
        }
Ejemplo n.º 26
0
        private object AuditTrailForBlackListClient(Reginfo previousReginfo, string remarks)
        {
            Reginfo currentReginfo = (Reginfo)_repository.GetRegInfoByMphone(previousReginfo.Mphone);
            var     diffList       = auditTrailService.GetAuditTrialFeildByDifferenceBetweenObject(currentReginfo, previousReginfo);

            previousReginfo.Remarks = remarks;
            AuditTrail auditTrail = new AuditTrail();

            auditTrail.Who                = currentReginfo.UpdateBy;
            auditTrail.WhatActionId       = 4;
            auditTrail.WhichParentMenuId  = 2;
            auditTrail.WhichMenu          = "Client Profile";
            auditTrail.WhichId            = previousReginfo.Mphone;
            auditTrail.Response           = "Black List Performed Successfully";
            auditTrail.InputFeildAndValue = diffList;
            //auditTrail.InputFeildAndValue = new List<AuditTrialFeild>
            //{
            //	new AuditTrialFeild
            //	{
            //		WhichFeildName = "BlackList",
            //		WhichValue= previousReginfo.BlackList,
            //		WhatValue = currentReginfo.BlackList
            //	}
            //};
            auditTrailService.InsertIntoAuditTrail(auditTrail);
            return(currentReginfo);
        }
Ejemplo n.º 27
0
        private void AuditTrailForStatusChange(Reginfo prevRegInfo, Reginfo currentReginfo, string remarks)
        {
            currentReginfo.Remarks = remarks;
            AuditTrail auditTrail = new AuditTrail();

            auditTrail.Who               = currentReginfo.UpdateBy;
            auditTrail.WhatActionId      = 4;
            auditTrail.WhichParentMenuId = 8;
            auditTrail.WhichMenu         = "Change Status";
            auditTrail.WhichId           = currentReginfo.Mphone;
            var diffList = auditTrailService.GetAuditTrialFeildByDifferenceBetweenObject(currentReginfo, prevRegInfo);

            auditTrail.InputFeildAndValue = diffList;
            if (currentReginfo.Status == "I")
            {
                auditTrail.Response = "Inward BLock Performed Successfully";
            }
            else if (currentReginfo.Status == "C")
            {
                auditTrail.Response = "Close Performed Successfully";
            }
            else
            {
                auditTrail.Response = "Outward Block Performed Successfully";
            }
            auditTrailService.InsertIntoAuditTrail(auditTrail);
        }
Ejemplo n.º 28
0
        public object AddRemoveLien(string remarks, Reginfo prevReginfo)
        {
            //reginfo.LienM = 0;
            //reginfo.Remarks = remarks;

            _repository.AddOrRemoveLien(prevReginfo, remarks);
            Reginfo currentRegInfo = (Reginfo)_repository.GetRegInfoByMphone(prevReginfo.Mphone);

            currentRegInfo.Remarks = remarks;
            AuditTrail auditTrail = new AuditTrail();

            auditTrail.Who               = currentRegInfo.UpdateBy;
            auditTrail.WhatActionId      = 4;
            auditTrail.WhichParentMenuId = 2;
            auditTrail.WhichMenu         = "Client Profile";
            auditTrail.WhichId           = prevReginfo.Mphone;
            auditTrail.Response          = "Lien Performed Successfully";
            //auditTrail.InputFeildAndValue = new List<AuditTrialFeild>
            //{
            //	new AuditTrialFeild
            //	{
            //		WhichFeildName = "LienM",
            //		WhichValue= prevReginfo.LienM.ToString(),
            //		WhatValue = currentRegInfo.LienM.ToString()
            //	},
            //	new AuditTrialFeild
            //	{
            //		WhichFeildName = "Remarks",
            //		WhichValue= prevReginfo.Remarks,
            //		WhatValue = currentRegInfo.Remarks
            //	}
            //};
            auditTrailService.InsertIntoAuditTrail(auditTrail);
            return(currentRegInfo);
        }
Ejemplo n.º 29
0
        private void AuditTrailForClientCLose(Reginfo prevRegInfo, Reginfo currentReginfo, string remarks)
        {
            currentReginfo.Remarks = remarks;
            AuditTrail auditTrail = new AuditTrail();

            auditTrail.Who               = currentReginfo.UpdateBy;
            auditTrail.WhatActionId      = 4;
            auditTrail.WhichParentMenuId = 2;
            auditTrail.WhichMenu         = "Client Profile";
            auditTrail.WhichId           = currentReginfo.Mphone;
            var diffList = auditTrailService.GetAuditTrialFeildByDifferenceBetweenObject(currentReginfo, prevRegInfo);

            auditTrail.InputFeildAndValue = diffList;
            if (currentReginfo.Status == "C")
            {
                auditTrail.Response = "Close Performed Successfully";
            }
            else
            {
                auditTrail.Response = "Active Performed Successfully";
            }

            //auditTrail.InputFeildAndValue = new List<AuditTrialFeild>
            //{
            //	new AuditTrialFeild
            //	{
            //		WhichFeildName = "Status",
            //		WhichValue= prevRegInfo.Status,
            //		WhatValue = reginfo.Status
            //	}
            //};
            auditTrailService.InsertIntoAuditTrail(auditTrail);
        }
Ejemplo n.º 30
0
        // POST: api/AuditTrails
        //// [ResponseType(typeof(AuditTrail))]
        public dynamic PostAuditTrail([FromBody] AuditTrail auditTrail)
        {
            //var USER_ID = getUserID();

            auditTrail.User = db.Users.Where(x => x.User_ID == auditTrail.User_ID).FirstOrDefault();

            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            //auditTrail.DateTime = auditTrail.DateTime;
            //auditTrail.TransactionDescription = auditTrail.TransactionDescription;
            //auditTrail.TransactionType = auditTrail.TransactionType;
            //auditTrail.User_ID = auditTrail.User.User_ID;
            // db.AuditTrails.Add(auditTrail);
            // db.SaveChanges();

            //return CreatedAtRoute("DefaultApi", new { id = auditTrail.AuditTrailID }, auditTrail);
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}

            db.AuditTrails.Add(auditTrail);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = auditTrail.AuditTrailID }, auditTrail));
        }
Ejemplo n.º 31
0
        public void CreatePermission(PermissionRecord permmision)
        {
            try
            {
                AuditTrail trail = new AuditTrail();

                trail.TimeStamp = CurrentDate;
                trail.UserId = PersonalInformation.UserId;
                trail.UserIP = _UtilityService.RemoteIP;
                trail.AuditActionId = (int)Telehire.Core.Utility.SystemEnums.AuditActionEnum.Create_Permission;
                trail.Details = PersonalInformation.FullName + " created Permission: " + permmision.Name;
                //trail.AirlineId = PersonalInformation.AirlineId;
                _AuditTrailRep.SaveOrUpdate(trail);
            }
            catch
            {

            }
        }
Ejemplo n.º 32
0
        public void UpdateUser(PersonalInformation userInfo)
        {
            try
            {
                AuditTrail trail = new AuditTrail();

                trail.TimeStamp = CurrentDate;
                trail.UserId = PersonalInformation.UserId;
                trail.UserIP = _UtilityService.RemoteIP;
                trail.AuditActionId = (int)Telehire.Core.Utility.SystemEnums.AuditActionEnum.Update_user;
                trail.Details = PersonalInformation.FullName + " updated a user: " + userInfo.FullName;
                //trail.AirlineId = PersonalInformation.AirlineId;

                _AuditTrailRep.SaveOrUpdate(trail);
            }
            catch
            {

            }
        }
Ejemplo n.º 33
0
    public static void logAction(string Action, object objInQuestion)
    {
        using (FinanceManagerDataContext db = new FinanceManagerDataContext())
        {
            try
            {
                AuditTrail _newAudit = new AuditTrail()
                   {
                       Action = Action,
                       AffectedTable = (objInQuestion.GetType()).Name,
                       CreatedBy = HttpContext.Current.User.Identity.Name,
                       CreatedDate = DateTime.Now,
                       ActionDescription = getPropertiesOfObject(objInQuestion),
                       AuditTrailId = Guid.NewGuid()
                   };
                db.AuditTrails.InsertOnSubmit(_newAudit);
                db.SubmitChanges();
            }
            catch (Exception)
            {

            }
        }
    }
Ejemplo n.º 34
0
        public void Log(string auditSection, string auditAction, string details, string otherRefId = null, Person userInfo = null)
        {
            var username = (HttpContext.Current.User == null) ? null : HttpContext.Current.User.Identity.Name;
            if (username == null && userInfo == null) return;
            //if (this._webUser.GetCurrentUserName == null) return;
            if (string.IsNullOrEmpty(auditSection) || string.IsNullOrEmpty(auditAction) ||
                string.IsNullOrEmpty(details)) return;
            var user = userInfo ?? (_personRepo.Table.FirstOrDefault(x => x.Email == username) ?? new Person());

            //var user = Membership.GetUser(this._webUser.GetCurrentUserName.UserName);
            auditSection = auditSection.Trim();
            auditAction = auditAction.Trim();
            details = details.Trim();

            //1. get or insert into Section
            var section =
                this._section.Table.FirstOrDefault(x => x.Name.ToLower() == auditSection.ToLower());
            if (section == null)
            {
                section = new AuditSection { Name = auditSection };
                this._section.Add(section);
            }
            //get or insert into action
            var action =
                this._action.Table.FirstOrDefault(x => x.AuditSectionId == section.Id && x.Name.ToLower() == auditAction.ToLower());
            if (action == null)
            {
                action = new AuditAction { Name = auditAction, AuditSectionId = section.Id };
                this._action.Add(action);
            }
            //finally save it
            var trail = new AuditTrail
            {
                Details = details,
                //Source = _webUser.GetCurrentUserName.Source,
                Source = user.FullName,
                PersonalInfoId = user.Id,
                //UserId = new Guid(user.ProviderUserKey.ToString()),
                UserId = new Guid(user.UserId),
                AuditActionId = action.Id,
                TimeStamp = this._dateTime.ConvertToUserTime(DateTime.Now),
                UserIP = CommonHelper.RemoteIP,
                OtherRefId = otherRefId,
                BrowserName = CommonHelper.UserBrowser,
                IsMobile = CommonHelper.IsMobileBrowser
            };
            //set the medium and browserName here . . .

            this._trail.Add(trail);
            // throw new NotImplementedException();
        }
Ejemplo n.º 35
0
        public void UserLogOut()
        {
            try
            {

                AuditTrail trail = new AuditTrail();

                trail.TimeStamp = CurrentDate;
                trail.UserIP = _UtilityService.RemoteIP;
                trail.UserId = PersonalInformation.UserId;
                trail.AuditActionId = (int)Telehire.Core.Utility.SystemEnums.AuditActionEnum.User_LogOut;
                trail.Details = PersonalInformation.FullName + " logged out.";
                //trail.AirlineId = PersonalInformation.AirlineId;
                _AuditTrailRep.SaveOrUpdate(trail);
            }
            catch
            {

            }
        }
 public static AuditTrail CreateAuditTrail(string entityId, string entityType, string entityState, string original, string current, long ID, global::System.Guid tid, string name, long createdById, long modifiedById, global::System.DateTimeOffset created, global::System.DateTimeOffset modified)
 {
     AuditTrail auditTrail = new AuditTrail();
     auditTrail.EntityId = entityId;
     auditTrail.EntityType = entityType;
     auditTrail.EntityState = entityState;
     auditTrail.Original = original;
     auditTrail.Current = current;
     auditTrail.Id = ID;
     auditTrail.Tid = tid;
     auditTrail.Name = name;
     auditTrail.CreatedById = createdById;
     auditTrail.ModifiedById = modifiedById;
     auditTrail.Created = created;
     auditTrail.Modified = modified;
     return auditTrail;
 }
Ejemplo n.º 37
0
        public void DeleteUserPermission(UserPermission permmission)
        {
            try
            {

                AuditTrail trail = new AuditTrail();

                trail.TimeStamp = CurrentDate;
                trail.UserId = PersonalInformation.UserId;
                trail.UserIP = _UtilityService.RemoteIP;
                var personIn = EngineContext.Current.Resolve<IUserService>();
                var pp = personIn.GetUserPersonalInformation("", permmission.UserId);
                trail.AuditActionId = (int)Telehire.Core.Utility.SystemEnums.AuditActionEnum.Delete_UserPermission;
                trail.Details = PersonalInformation.FullName + " removed a Permission: " + permmission.Permission.Name + " for user: " + pp.FullName;
                //trail.AirlineId = PersonalInformation.AirlineId;
                _AuditTrailRep.SaveOrUpdate(trail);
            }
            catch
            {

            }
        }