public string LogActivity(ChangeLogModel changeLog)
        {
            string success = "";

            try
            {
                using (var db = new OggleBoobleSqlContext.OggleBoobleContext())
                {
                    //WebStatsSqlContext.ChangeLog alredyExists = db.ChangeLogs.Where(cl => cl.PageId == changeLog.PageId && cl.Activity == changeLog.Activity).FirstOrDefault();
                    //if (alredyExists == null)
                    {
                        db.ChangeLogs.Add(new OggleBoobleSqlContext.ChangeLog()
                        {
                            PageId   = changeLog.PageId,
                            PageName = changeLog.PageName,
                            Activity = changeLog.Activity,
                            Occured  = DateTime.Now
                        });
                        db.SaveChanges();
                    }
                }
                success = "ok";
            }
            catch (Exception ex)
            {
                success = Helpers.ErrorDetails(ex);
            }
            return(success);
        }
        private async Task LogChange(T item, CompareEntitiesFactory compareEntitiesFactory)
        {
            var changeLogModel = new ChangeLogModel
            {
                Type             = compareEntitiesFactory.GetChangeType(),
                TableName        = this.TableName,
                Context          = this.Context,
                ChangedDataType  = item.GetType().Name,
                ChangeData       = compareEntitiesFactory.GetChanges(),
                LogDate          = DateTimeOffset.Now.Date,
                ItemPartitionKey = item.PartitionKey,
                ItemRowKey       = item.RowKey,
                UserId           = GetUserId(),
                UserEmail        = GetUserEmail()
            };

            if (changeLogModel.UserId == DefaultUnknownUser || string.IsNullOrWhiteSpace(changeLogModel.UserEmail))
            {
                //this.insightsTracker.TrackEvent(
                //    "InvalidUserClaims",
                //    new Dictionary<string, string>
                //        {
                //                { nameof(ChangeLogEntity.UserId), changeLogModel.UserId },
                //                { nameof(ChangeLogEntity.UserEmail), changeLogModel.UserEmail },
                //                { nameof(ChangeLogEntity.Context), changeLogModel.Context },
                //                { nameof(ChangeLogEntity.TableName), changeLogModel.TableName },
                //                { nameof(ChangeLogEntity.Type), changeLogModel.Type }
                //        });
            }

            await this.changeRepository.LogChange(changeLogModel);
        }
Beispiel #3
0
        internal static ChangeLogEntity GetChangeLogEntity(ChangeLogModel changeModel)
        {
            var userId    = GetUserId();
            var userEmail = GetUserEmail();

            if (userId == DefaultUnknownUser)
            {
                //insightsTracker.TrackEvent(
                //    "UserIdNotFound",
                //    new Dictionary<string, string>
                //        {
                //            { nameof(ChangeLogEntity.UserId), "Unknown" },
                //            { nameof(ChangeLogEntity.UserEmail), userEmail },
                //            { nameof(ChangeLogEntity.Context), changeModel.Context },
                //            { nameof(ChangeLogEntity.TableName), changeModel.TableName },
                //            { nameof(ChangeLogEntity.Type), changeModel.Type }
                //        });
            }

            var changeLogEntity = new ChangeLogEntity
            {
                ChangeData       = changeModel.ChangeData,
                Context          = changeModel.Context,
                ItemId           = changeModel.ItemId,
                TableName        = changeModel.TableName,
                Type             = changeModel.Type,
                UserEmail        = userEmail,
                UserId           = userId,
                ChangedDataType  = changeModel.ChangedDataType,
                ItemPartitionKey = changeModel.ItemPartitionKey,
                ItemRowKey       = changeModel.ItemRowKey
            };

            return(changeLogEntity);
        }
        //
        // GET: /ChangeLog/

        public ActionResult index()
        {
            ChangeLogModel model = new ChangeLogModel {
                _db_author = new db_ChangeLog().getProjectsAuthorView()
            };

            return(View(model));
        }
Beispiel #5
0
        public async Task <Response> LogChange(ChangeLogModel changeModel)
        {
            try
            {
                await this.StoreChangeLogEntity(changeModel);
            }
            catch (Exception exp)
            {
                //  this.insightsTracker.TrackException(exp, nameof(ChangeLogRepository), nameof(this.LogChange), changeModel.TableName);
                return(Response.Failed(exp.Message));
            }

            return(Response.Success());
        }
Beispiel #6
0
        public ActionResult Edit(ChangeLogModel model)
        {
            if (ModelState.IsValid)
            {
                var changeLog = ServiceFactory.GetInstance <IChangeLogRepository>()
                                .Single(c => c.ID == model.ID);
                changeLog.Description = model.Description;
                changeLog.DateCreated = model.DateCreated;
                ServiceFactory.GetInstance <IChangeLogRepository>()
                .SaveChanges();

                return(RedirectToAction("index"));
            }

            return(View());
        }
Beispiel #7
0
        public ActionResult Register(ChangeLogModel model)
        {
            if (ModelState.IsValid)
            {
                ServiceFactory.GetInstance <IChangeLogRepository>()
                .Register(new ChangeLog()
                {
                    Description = model.Description,
                    DateCreated = model.DateCreated
                });

                return(RedirectToAction("index"));
            }

            return(View());
        }
Beispiel #8
0
        internal static ChangeLogModel CreateChangeLogModel(ChangeLogEntity changeLogEntity)
        {
            var changeLogModel = new ChangeLogModel
            {
                UserId           = changeLogEntity.UserId,
                TableName        = changeLogEntity.TableName,
                Context          = changeLogEntity.Context,
                Type             = changeLogEntity.Type,
                ItemId           = changeLogEntity.ItemId,
                UserEmail        = changeLogEntity.UserEmail,
                ChangeData       = changeLogEntity.ChangeData,
                ChangedDataType  = changeLogEntity.ChangedDataType,
                LogDate          = changeLogEntity.Timestamp.DateTime,
                ItemPartitionKey = changeLogEntity.ItemPartitionKey,
                ItemRowKey       = changeLogEntity.ItemRowKey
            };

            return(changeLogModel);
        }
Beispiel #9
0
        private async Task StoreChangeLogEntity(ChangeLogModel changeLogModel)
        {
            var rowKey = Guid.NewGuid().ToString();
            var changeLogEntityTable = EntityFactory.GetChangeLogEntity(changeLogModel);
            var changeLogEntityUser  = EntityFactory.GetChangeLogEntity(changeLogModel);

            changeLogEntityTable.PartitionKey = EntityFactory.GetRowKey(changeLogModel);
            changeLogEntityTable.RowKey       = rowKey;
            changeLogEntityUser.PartitionKey  = changeLogEntityUser.UserId;
            changeLogEntityUser.RowKey        = rowKey;

            await this.tableHandler.InsertAsync(new List <ChangeLogEntity> {
                changeLogEntityUser, changeLogEntityTable
            });

            try
            {
                await this.UpdateOverview(changeLogEntityUser);
            }
            catch (Exception exp)
            {
                // this.insightsTracker.TrackException(exp, nameof(ChangeLogRepository), nameof(this.LogChange), "Overview");
            }
        }
Beispiel #10
0
 public ChangeLog(IEnumerable <ChangeLogVersion> changeLog)
 {
     InitializeComponent();
     DataContext = new ChangeLogModel(changeLog);
 }
        public ChangeLog(Version version)
        {
            InitializeComponent();

            DataContext = Model = new ChangeLogModel(version);
        }
        public ChangeLog(Version version)
        {
            InitializeComponent();

            DataContext = Model = new ChangeLogModel(version);
        }
Beispiel #13
0
 internal static string GetRowKey(ChangeLogModel changeLogModel)
 {
     return(changeLogModel.Context + "_" + changeLogModel.TableName);
 }