Esempio n. 1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (MetricID != Guid.Empty)
     {
         Utils.MetricUtils.InitLinqDataSources(ldsMetric);
         ldsMetric.WhereParameters.Add("MetricID", System.Data.DbType.Guid, MetricID.ToString());
         mfMetric.ChangeMode(DetailsViewMode.Edit);
     }
     else
     {
         DateTime dtCurrent = DateTime.Now;
         ((Micajah.Common.WebControls.DatePicker)mfMetric.Rows[7].Cells[1].Controls[0]).SelectedDate = new DateTime(dtCurrent.Year, dtCurrent.Month, dtCurrent.Day);
     }
     if (!IsPostBack)
     {
         DeleteCommentCookie();
         if (MetricID != Guid.Empty)
         {
             Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
             OrgTree.CustomRootNodeText = user.SelectedOrganization.Name;
             OrgTree.EntityNodeId       = MetricID;
             OrgTree.LoadTree();
         }
         else
         {
             OrgTree.Visible = false;
         }
     }
 }
Esempio n. 2
0
        private void LoadRootNodes()
        {
            rtvMaster.Nodes.Clear();
            Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
            RadTreeNode RootNode = new RadTreeNode(user.SelectedOrganization.Name, "");

            RootNode.Expanded = true;
            rtvMaster.Nodes.Add(RootNode);
            RadTreeNode RootPINode = new RadTreeNode("Performance Indicators", PINodeValue);

            RootPINode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
            RootNode.Nodes.Add(RootPINode);
            RadTreeNode RootGCANode = new RadTreeNode("GCA Subtree", GCANodeValue);

            RootGCANode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
            RootNode.Nodes.Add(RootGCANode);
            RadTreeNode RootMCNode = new RadTreeNode("Metric Categories Subtree", MCNodeValue);

            RootMCNode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
            RootNode.Nodes.Add(RootMCNode);
            RadTreeNode RootOrgNode = new RadTreeNode("Org Location Subtree", OrgNodeValue);

            RootOrgNode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
            RootNode.Nodes.Add(RootOrgNode);
        }
Esempio n. 3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
         OrgTree.CustomRootNodeText = user.SelectedOrganization.Name;
         OrgTree.EntityNodeId       = PerformanceIndicatorFormID;
         OrgTree.LoadTree();
     }
 }
Esempio n. 4
0
        public static List <D_EntityNode> D_ListOrgLocations()
        {
            LinqMicajahDataContext dc = new LinqMicajahDataContext();

            Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
            var org = (from n in dc.D_EntityNode
                       where n.OrganizationId == user.SelectedOrganization.OrganizationId
                       select n).ToList();

            return(org);
        }
Esempio n. 5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
     dsGroup.WhereParameters.Add("OrganizationId", System.Data.DbType.Guid, user.SelectedOrganization.OrganizationId.ToString());
     if (DataRuleID != Guid.Empty)
     {
         Utils.MetricUtils.InitLinqDataSources(ldsDataCollector);
         ldsDataCollector.WhereParameters.Add("DataRuleID", System.Data.DbType.Guid, DataRuleID.ToString());
         mfDataCollector.ChangeMode(DetailsViewMode.Edit);
     }
     ldsDataCollector.InsertParameters.Add("DataRuleTypeID", DbType.Int32, DataRuleTypeID.ToString());
 }
Esempio n. 6
0
        public static List <Extend> ListOrgLocations()
        {
            LinqMicajahDataContext dc = new LinqMicajahDataContext();

            Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;

            var org = (from f in dc.ViewnameOrgLocation
                       orderby f.Name
                       where f.InstanceId == LinqMicajahDataContext.InstanceId
                       select new Extend
            {
                InstanceId = f.InstanceId,
                EntityNodeId = (Guid)f.OrgLocationID,
                ParentEntityNodeId = f.ParentOrgLocationID,
                Name = f.Name,
                FullName = f.FullName
            }).ToList();

            //foreach (MetricTrac.Bll.Mc_EntityNode.Extend n in org) if (n.ParentEntityNodeId == null && n.EntityNodeId != Guid.Empty) n.ParentEntityNodeId = Guid.Empty;


            /*var org =(from n in dc.Mc_EntityNode
             *      join _f in dc.ViewnameOrgLocation on n.EntityNodeId equals _f.OrgLocationID  into __f
             *      from f in __f.DefaultIfEmpty()
             *
             *        orderby n.Name //n.OrderNumber
             *
             *      where n.Deleted == false && n.InstanceId == null
             *          && (n.EntityId == new Guid("4cda22f3-4f01-4768-8608-938dc6a06825") || n.EntityNodeId==Guid.Empty)
             *          && (n.OrganizationId == user.SelectedOrganization.OrganizationId || n.EntityNodeId==Guid.Empty)
             *      select new Extend
             *      {
             *          EntityNodeId = n.EntityNodeId,
             *          ParentEntityNodeId = n.ParentEntityNodeId,
             *          Name = n.EntityNodeId == Guid.Empty ? LinqMicajahDataContext.OrganizationName : n.Name,
             *          OrderNumber = n.OrderNumber,
             *          OrganizationId = n.OrganizationId,
             *          InstanceId = n.InstanceId,
             *          EntityId = n.EntityId,
             *          EntityNodeTypeId = n.EntityNodeTypeId,
             *          SubEntityId = n.SubEntityId,
             *          SubEntityLocalId = n.SubEntityLocalId,
             *          Deleted = n.Deleted,
             *
             *          FullName = n.EntityNodeId == Guid.Empty ? LinqMicajahDataContext.OrganizationName : f.FullName
             *      }).ToList();
             *
             * foreach (MetricTrac.Bll.Mc_EntityNode.Extend n in org) if (n.ParentEntityNodeId == null && n.EntityNodeId!=Guid.Empty) n.ParentEntityNodeId = Guid.Empty;*/
            return(org);
        }
Esempio n. 7
0
 protected void UserContext_SelectedOrganizationChanged(object sender, EventArgs e)
 {
     Micajah.Common.Security.UserContext user = sender as Micajah.Common.Security.UserContext;
     UploadControlSettings.OrganizationName = user.SelectedOrganization.Name;
     UploadControlSettings.OrganizationId = user.SelectedOrganization.OrganizationId;
     // def instance
     string DefInstanceName = user.SelectedOrganization.Name;
     Guid DefInstanceGuid = user.SelectedOrganization.OrganizationId;
     if (user.SelectedOrganization.Instances.Count > 0)
     {
         DefInstanceName = user.SelectedOrganization.Instances[0].Name;
         DefInstanceGuid = user.SelectedOrganization.Instances[0].InstanceId;
     }
     UploadControlSettings.DepartmentName = DefInstanceName;
     UploadControlSettings.DepartmentId = DefInstanceGuid;
 }
Esempio n. 8
0
        public static List <Extend> ListOrgLocations()
        {
            LinqMicajahDataContext dc = new LinqMicajahDataContext();

            Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;

            var org = (from n in dc.Mc_EntityNode
                       join _f in dc.EntityNodeFullNameView on /*new { InstanceId=(Guid?)LinqMicajahDataContext.InstanceId, */ n.EntityNodeId /* }*/ equals /*new {InstanceId=(Guid?)null, */ _f.EntityNodeId /*}*/ into __f
                       from f in __f.DefaultIfEmpty()

                       orderby n.Name //n.OrderNumber

                       where n.Deleted == false && n.InstanceId == null &&
                       (n.EntityId == new Guid("4cda22f3-4f01-4768-8608-938dc6a06825") || n.EntityNodeId == Guid.Empty) &&
                       (n.OrganizationId == user.SelectedOrganization.OrganizationId || n.EntityNodeId == Guid.Empty)
                       select new Extend
            {
                EntityNodeId = n.EntityNodeId,
                ParentEntityNodeId = n.ParentEntityNodeId,
                Name = n.EntityNodeId == Guid.Empty ? LinqMicajahDataContext.OrganizationName : n.Name,
                OrderNumber = n.OrderNumber,
                OrganizationId = n.OrganizationId,
                InstanceId = n.InstanceId,
                EntityId = n.EntityId,
                EntityNodeTypeId = n.EntityNodeTypeId,
                SubEntityId = n.SubEntityId,
                SubEntityLocalId = n.SubEntityLocalId,
                Deleted = n.Deleted,

                FullName = n.EntityNodeId == Guid.Empty ? LinqMicajahDataContext.OrganizationName : f.FullName
            }).ToList();

            foreach (MetricTrac.Bll.Mc_EntityNode.Extend n in org)
            {
                if (n.ParentEntityNodeId == null && n.EntityNodeId != Guid.Empty)
                {
                    n.ParentEntityNodeId = Guid.Empty;
                }
            }
            return(org);
        }
Esempio n. 9
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (PerformanceIndicatorID != Guid.Empty)
         {
             mfPerformanceIndicator.ChangeMode(DetailsViewMode.Edit);
         }
         if (PerformanceIndicatorID != Guid.Empty)
         {
             Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
             OrgTree.CustomRootNodeText = user.SelectedOrganization.Name;
             OrgTree.EntityNodeId       = PerformanceIndicatorID;
             OrgTree.LoadTree();
         }
         else
         {
             OrgTree.Visible = false;
         }
     }
 }
Esempio n. 10
0
        public static void SaveBulkValues(List <Bll.MetricOrgLocationUoM> MetricOrgLocationUoMList, List <Bll.MetricValue.Extend> NewValues, List <Bll.MetricValue.Extend> OldValues, Micajah.Common.Security.UserContext CurrentUser, bool InputMode)
        {
            using (LinqMicajahDataContext dc = new LinqMicajahDataContext())
            {
                foreach (MetricOrgLocationUoM uom in MetricOrgLocationUoMList)
                {
                    MetricOrgLocationUoM MOUoM =
                        (from muom in dc.MetricOrgLocationUoM
                         where
                         muom.MetricID == uom.MetricID &&
                         muom.InstanceId == LinqMicajahDataContext.InstanceId &&
                         muom.OrgLocationID == uom.OrgLocationID
                         select muom).FirstOrNull();
                    if (MOUoM == null)
                    {
                        Bll.MetricOrgLocationUoM muom = new Bll.MetricOrgLocationUoM();
                        muom.MetricID             = uom.MetricID;
                        muom.OrgLocationID        = uom.OrgLocationID;
                        muom.InputUnitOfMeasureID = uom.InputUnitOfMeasureID;
                        dc.MetricOrgLocationUoM.InsertOnSubmit(muom);
                    }
                    else
                    if (uom.InputUnitOfMeasureID != MOUoM.InputUnitOfMeasureID)
                    {
                        MOUoM.InputUnitOfMeasureID = uom.InputUnitOfMeasureID;
                    }
                }
                dc.SubmitChanges();
                Metric metric = null;
                for (int i = 0; i < NewValues.Count; i++)
                {
                    MetricValue.Extend NewValue = NewValues[i];
                    MetricValue.Extend OldValue = OldValues[i];
                    bool UpdateMetric           = false;
                    if (metric == null)
                    {
                        UpdateMetric = true;
                    }
                    else if (metric.MetricID != NewValue.MetricID)
                    {
                        UpdateMetric = true;
                    }
                    if (UpdateMetric)
                    {
                        metric =
                            (from m in dc.Metric
                             where
                             m.MetricID == NewValue.MetricID &&
                             m.InstanceId == LinqMicajahDataContext.InstanceId &&
                             m.Status == true
                             select m).FirstOrNull();
                    }
                    if (metric != null)
                    {
                        MetricValue metricValue =
                            (from mv in dc.MetricValue
                             where
                             mv.MetricID == NewValue.MetricID &&
                             mv.InstanceId == LinqMicajahDataContext.InstanceId &&
                             mv.Status == true &&
                             mv.Date == NewValue.Date &&
                             mv.FrequencyID == metric.FrequencyID &&
                             mv.OrgLocationID == NewValue.OrgLocationID
                             select mv).FirstOrNull();

                        string ConvertedValue = NewValue.Value;
                        if (metric.UnitOfMeasureID != NewValue.InputUnitOfMeasureID && metric.MetricDataTypeID == 1 && NewValue.InputUnitOfMeasureID != null && metric.UnitOfMeasureID != null)
                        {
                            ConvertedValue = Mc_UnitsOfMeasure.ConvertValue(NewValue.Value, (Guid)NewValue.InputUnitOfMeasureID, (Guid)metric.UnitOfMeasureID);
                        }

                        if (metricValue == null)
                        {
                            Bll.MetricValue mv = new Bll.MetricValue();
                            mv.MetricValueID    = NewValue.MetricValueID = Guid.NewGuid();
                            mv.FrequencyID      = metric.FrequencyID;
                            mv.UnitOfMeasureID  = metric.UnitOfMeasureID;
                            mv.MetricDataTypeID = metric.MetricDataTypeID;
                            mv.ConvertedValue   = ConvertedValue;
                            mv.InputUserId      = CurrentUser.UserId;
                            mv.Approved         = false;
                            mv.ReviewUpdated    = false;
                            mv.ApproveUserId    = null;
                            mv.Notes            = null;
                            mv.FilesAttached    = false;
                            mv.IsCalc           = true;
                            mv.InProcess        = false;

                            mv.MetricID             = NewValue.MetricID;
                            mv.OrgLocationID        = NewValue.OrgLocationID;
                            mv.Date                 = NewValue.Date;
                            mv.InputUnitOfMeasureID = NewValue.InputUnitOfMeasureID;
                            mv.Value                = NewValue.Value;
                            dc.MetricValue.InsertOnSubmit(mv);
                        }
                        else
                        {
                            metricValue.MetricDataTypeID     = metric.MetricDataTypeID;
                            metricValue.InputUnitOfMeasureID = NewValue.InputUnitOfMeasureID;
                            metricValue.UnitOfMeasureID      = metric.UnitOfMeasureID;
                            metricValue.ConvertedValue       = ConvertedValue;
                            metricValue.Approved             = NewValue.Approved;
                            metricValue.ReviewUpdated        = (!InputMode) ? false : (metricValue.Approved == null && NewValue.Approved == null);
                            if (!InputMode)
                            {
                                if (metricValue.Approved != NewValue.Approved)
                                {
                                    metricValue.ApproveUserId = CurrentUser.UserId;
                                }
                                if (metricValue.Value != NewValue.Value)
                                {
                                    metricValue.InputUserId = CurrentUser.UserId;
                                }
                            }
                            else
                            {
                                metricValue.InputUserId = CurrentUser.UserId;
                            }
                            metricValue.Value  = NewValue.Value;
                            metricValue.IsCalc = true;
                        }
                    }
                }
                dc.SubmitChanges();
                for (int i = 0; i < NewValues.Count; i++)
                {
                    MetricValue.Extend NewValue = NewValues[i];
                    MetricValue.Extend OldValue = OldValues[i];
                    Bll.Mc_User.Extend mue      = Bll.Mc_User.GetValueInputUser(dc, OldValue.MetricValueID);
                    // build mail to data collector if status or comment were changed
                    if ((!InputMode) && (OldValue.Approved != NewValue.Approved))
                    {
                        Bll.MetricValueChangeLog.LogChange(dc,
                                                           OldValue.MetricValueID == Guid.Empty ? NewValue.MetricValueID : OldValue.MetricValueID,
                                                           Bll.MetricValueChangeTypeEnum.StatusChanged,
                                                           OldValue.MetricValueID == Guid.Empty ? "Pending" : (OldValue.Approved == null ? "Under Review" : ((bool)OldValue.Approved ? "Approved" : "Pending")),
                                                           NewValue.Approved == null ? "Under Review" : ((bool)NewValue.Approved ? "Approved" : "Pending"),
                                                           Utils.Mail.BuildLogMessageBody(OldValue, NewValue, String.Empty, CurrentUser, mue, Bll.MetricValueChangeTypeEnum.StatusChanged));

                        if (NewValue.Approved == null && mue != null)
                        {
                            Utils.Mail.Send(mue.Email, mue.FullName, "MetricTrac - Value Status is changed", Utils.Mail.BuildEmailBody(OldValue, NewValue, String.Empty, CurrentUser));
                        }
                    }
                    // record in change log
                    if (OldValue.MetricValueID == Guid.Empty)
                    {
                        Bll.MetricValueChangeLog.LogChange(NewValue.MetricValueID,
                                                           MetricTrac.Bll.MetricValueChangeTypeEnum.ValueEntered,
                                                           String.Empty,
                                                           NewValue.Value,
                                                           Utils.Mail.BuildLogMessageBody(OldValue, NewValue, "Bulk Edit", CurrentUser, mue, MetricTrac.Bll.MetricValueChangeTypeEnum.ValueEntered));
                    }
                    else
                    if (OldValue.Value != NewValue.Value)
                    {
                        Bll.MetricValueChangeLog.LogChange(OldValue.MetricValueID,
                                                           MetricTrac.Bll.MetricValueChangeTypeEnum.ValueChanged,
                                                           OldValue.Value,
                                                           NewValue.Value,
                                                           Utils.Mail.BuildLogMessageBody(OldValue, NewValue, "Bulk Edit", CurrentUser, mue, MetricTrac.Bll.MetricValueChangeTypeEnum.ValueChanged));
                    }
                }
                dc.SubmitChanges();
            }
        }
Esempio n. 11
0
 protected void UserContext_SelectedInstanceChanged(object sender, EventArgs e)
 {
     Micajah.Common.Security.UserContext user = sender as Micajah.Common.Security.UserContext;
     UploadControlSettings.DepartmentName = user.SelectedInstance.Name;
     UploadControlSettings.DepartmentId   = user.SelectedInstance.InstanceId;
 }
Esempio n. 12
0
 protected void mfScoreCard_ItemInserting(object sender, DetailsViewInsertEventArgs e)
 {
     Micajah.Common.Security.UserContext user = Micajah.Common.Security.UserContext.Current;
     e.Values["UserId"] = user.UserId;
 }
Esempio n. 13
0
        public static string BuildEmailBody(Bll.MetricValue.Extend OldMetricValue, Bll.MetricValue.Extend NewMetricValue, string message, Micajah.Common.Security.UserContext context)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<!DOCTYPE HTML PUBLIC\"-//IETF//DTD HTML//EN\"><html xmlns=\"http://www.w3.org/1999/xhtml\">");
            sb.Append("<head><title></title><style type=\"text/css\">body {font-family: Arial;font-size:12pt; }table {font-family: Arial;} .TableValues { text-align:left; font-weight:bolder;  } .TableHeaders { text-align:right; }</style></head>");
            sb.Append("<body>");
            if (context != null)
            {
                sb.Append("<h3>Data Approver: " + context.FirstName + " " + context.LastName + " (" + context.Email + ")</h3> ");
            }
            if (OldMetricValue.Approved != NewMetricValue.Approved)
            {
                sb.Append("change value status from \"" + GetStatusName(OldMetricValue.Approved) + "\" to \"" + GetStatusName(NewMetricValue.Approved) + "\"");
            }
            else
            {
                sb.Append("add comment for value");
            }
            sb.Append("<br /><br />");
            sb.Append("Comment to Data Collector: " + HttpUtility.HtmlEncode(message) + "<br /><br />");
            if (NewMetricValue != null)
            {
                sb.Append("Metric Value:<br /><table cellpadding=\"0\" cellspacing=\"5\" border=\"0\">");
                sb.Append("<tr><th style=\"text-align:right;\">Metric</th><td style=\"text-align:left;\">" + NewMetricValue.MetricName + "</td></tr>");
                sb.Append("<tr><th style=\"text-align:right;\">Org Location</th><td style=\"text-align:left;\">" + NewMetricValue.OrgLocationFullName + "</td></tr>");
                sb.Append("<tr><th style=\"text-align:right;\">Date</th><td style=\"text-align:left;\">" + NewMetricValue.Period + "</td></tr>");
                sb.Append("<tr><th style=\"text-align:right;\">Value</th><td style=\"text-align:left;\">" + NewMetricValue.Value + " " + NewMetricValue.ValueInputUnitOfMeasureName + "</td></tr>");
                sb.Append("</table>");
            }
            sb.Append("</body>");
            sb.Append("</html>");
            return(sb.ToString());
        }
Esempio n. 14
0
        public static string BuildLogMessageBody(Bll.MetricValue.Extend OldValue, MetricTrac.Bll.MetricValue.Extend NewValue, string message, Micajah.Common.Security.UserContext context, Bll.Mc_User.Extend e, MetricTrac.Bll.MetricValueChangeTypeEnum changeType)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("User");
            if (context != null)
            {
                sb.Append(": " + context.FirstName + " " + context.LastName);
            }
            sb.Append(" ");
            switch (changeType)
            {
            case MetricTrac.Bll.MetricValueChangeTypeEnum.StatusChanged:
                sb.Append("change value status from \"" + GetStatusName(OldValue.Approved) + "\" to \"" + GetStatusName(NewValue.Approved) + "\"");
                break;

            case MetricTrac.Bll.MetricValueChangeTypeEnum.CommentToDataCollector:
                break;

            case MetricTrac.Bll.MetricValueChangeTypeEnum.NoteChanged:
                sb.Append("change value note from \"" + OldValue.Notes + "\" to \"" + NewValue.Notes + "\" ");
                break;

            case MetricTrac.Bll.MetricValueChangeTypeEnum.ValueEntered:
                sb.Append("enter value " + NewValue.Value + "\" ");
                break;

            case MetricTrac.Bll.MetricValueChangeTypeEnum.ValueChanged:
            default:
                sb.Append("change Value from \"" + OldValue.Value + "\" to \"" + NewValue.Value + "\" ");
                break;
            }
            sb.Append("<br />");
            if (changeType != MetricTrac.Bll.MetricValueChangeTypeEnum.ValueChanged)
            {
                sb.Append("Comment to Data Collector: " + HttpUtility.HtmlEncode(message) + "<br />");
            }
            else
            {
                sb.Append("Note: " + message + "<br />");
            }
            if (e != null)
            {
                sb.Append("Data Collector: " + e.FullName);
            }
            sb.Append("<br />");
            if (NewValue != null)
            {
                sb.Append("Metric Value:<br />");
                sb.Append("Metric - " + NewValue.MetricName + "<br />");
                sb.Append("Org Location - " + NewValue.OrgLocationFullName + "<br />");
                sb.Append("Date - " + NewValue.Period + "<br />");
                sb.Append("Value - " + NewValue.Value + " " + NewValue.ValueInputUnitOfMeasureName + "<br />");
            }
            return(sb.ToString());
        }