internal void UpdateFormulaUsage(List <QueryItem> allQueryItems, InternaleEditResult result)
        {
            BizDataItem     bizDataItem     = new BizDataItem();
            BizFormulaUsage bizFormulaUsage = new BizFormulaUsage();

            foreach (var editQuertyResult in result.EditQueryResults)
            {
                try
                {
                    var queryItem = editQuertyResult.QueryItem;
                    if (queryItem.DataItem.GetProperties().Any(x => x.FormulaID != 0))
                    {
                        var dataItemID = bizDataItem.GetOrCreateDataItem(queryItem.DataItem);
                        foreach (var property in queryItem.DataItem.GetProperties().Where(x => x.FormulaID != 0))
                        {
                            FormulaUsageDTO usage = new FormulaUsageDTO();
                            usage.DataItemID             = dataItemID;
                            usage.ColumnID               = property.ColumnID;
                            usage.FormulaID              = property.FormulaID;
                            usage.FormulaUsageParemeters = property.FormulaUsageParemeters;
                            bizFormulaUsage.UpdateFormulaUsage(usage);
                        }
                    }
                }
                catch (Exception ex)
                {
                    editQuertyResult.ForumulaUsageResult  = Enum_DR_ResultType.ExceptionThrown;
                    editQuertyResult.ForumulaUsageMessage = ex.Message;
                }
            }
        }
Пример #2
0
        private void AddLogInternal(DataLogDTO message, MyIdeaDataDBEntities context, DR_Requester requester)
        {
            var dbLog = new DataLog();

            if (message.DatItem.DataItemID == 0)
            {
                dbLog.MyDataItemID = bizDataItem.GetOrCreateDataItem(message.DatItem);
            }
            else
            {
                dbLog.MyDataItemID = message.DatItem.DataItemID;
            }

            // dbLog.DataInfo = message.DatItem.ViewInfo;
            dbLog.Date     = DateTime.Now;
            dbLog.Time     = DateTime.Now.ToString("HH:mm:ss");
            dbLog.Duration = message.Duration;
            dbLog.MajorFunctionException        = message.MajorException;
            dbLog.MinorFunctionException        = message.MinorException;
            dbLog.MajorFunctionExceptionMessage = message.MajorFunctionExceptionMessage;
            dbLog.LocationInfo  = message.LocationInfo;
            dbLog.RelatedItemID = message.RelatedItemID;
            dbLog.PackageGuid   = message.PackageGuid;
            dbLog.MainType      = (short)message.MainType;
            dbLog.UserID        = requester.Identity;
            if (message.EditDataItemExceptionLog != null)
            {
                dbLog.EditDataItemExceptionLog = new EditDataItemExceptionLog();
                dbLog.EditDataItemExceptionLog.AfterSaveActionExceptionMessage = message.EditDataItemExceptionLog.AfterSaveActionExceptionMessage;
                //dbLog.EditDataItemExceptionLog.BeforeSaveActionExceptionMessage = message.EditDataItemExceptionLog.BeforeSaveActionExceptionMessage;
                //dbLog.EditDataItemExceptionLog.DataUpdateExceptionMessage = message.EditDataItemExceptionLog.DataUpdateExceptionMessage;
                //dbLog.EditDataItemExceptionLog.FormulaUsageExceptionMessage = message.EditDataItemExceptionLog.ForumulaUsageExceptionMessage;
                dbLog.EditDataItemExceptionLog.DataUpdateQuery = message.EditDataItemExceptionLog.DataUpdateQuery;
            }
            if (message.EditDataItemColumnDetails != null)
            {
                foreach (var messageCol in message.EditDataItemColumnDetails)
                {
                    EditDataItemColumnDetails dbCol = new EditDataItemColumnDetails();
                    dbCol.ColumnID         = messageCol.ColumnID;
                    dbCol.Info             = messageCol.Info;
                    dbCol.NewValue         = messageCol.NewValue == null ? "<Null>" : messageCol.NewValue.ToString();
                    dbCol.OldValue         = messageCol.OldValue == null ? "<Null>" : messageCol.OldValue.ToString();
                    dbCol.FormulaException = messageCol.FormulaException;
                    dbCol.FormulaID        = messageCol.FormulaID;
                    dbLog.EditDataItemColumnDetails.Add(dbCol);
                    foreach (var formulaParam in messageCol.FormulaUsageParemeters)
                    {
                        FormulaUsageParemeters paramDB = new FormulaUsageParemeters();
                        paramDB.ID                        = formulaParam.ID;
                        paramDB.ParameterName             = formulaParam.ParameterName;
                        paramDB.ParameterValue            = formulaParam.ParameterValue;
                        paramDB.RelationshipKeyColumnTail = formulaParam.RelationshipPropertyTail;
                        dbCol.FormulaUsageParemeters.Add(paramDB);
                    }
                }
            }
            //if (message.ArchiveItemLog != null)
            //{
            //    dbLog.ArchiveItemLog = new ArchiveItemLog();
            //    dbLog.ArchiveItemLog.Exception = message.ArchiveItemLog.Exception;
            //}
            context.DataLog.Add(dbLog);
        }