コード例 #1
0
        void GetOrderActivities(List<Activity> activityList, ActivityCriteria criteria)
        {
            var orderClient = _quartetClientFactory.GetCustomersQueryServiceClient();
            var orders = orderClient.GetCustomerOrders(criteria.CustomerId, false, false);
            if (orders != null && orders.Length > 0)
            {
                foreach (var order in orders)
                {
                    int itemCount = 0;
                    if (order.ProductsOrdered != null && order.ProductsOrdered.Length > 0)
                        foreach (var item in order.ProductsOrdered)
                            itemCount += item.Quantity;

                    if (order.OrderDateUtc.HasValue)
                        activityList.Add(new Activity
                        {
                            ActivityType         = "Order",
                            DisplayDateUtc       = order.OrderDateUtc.Value,
                            ItemCount            = itemCount,
                            OrderStatus          = order.Status,
                            OrderId              = order.OrderId,
                            EstimatedOrderAmount = order.EstimatedOrderAmount
                        });
                }
            }
        }
コード例 #2
0
 void GetNoteActivities(List<Activity> activityList, ActivityCriteria criteria, Customer customer)
 {
     if (customer.Notes != null && customer.Notes.Count > 0)
     {
         foreach (var note in customer.Notes.Values)
         {
             activityList.Add(new Activity
             {
                 ActivityType = "Note",
                 Content = note.Content,
                 DisplayDateUtc = note.DateCreatedUtc
             });
         }
     }
 }
コード例 #3
0
        public ActivitySummary GetActivitySummary(ActivityCriteria criteria)
        {
            var activityList = new List<Activity>();
            var client = _quartetClientFactory.GetCustomersQueryServiceClient();
            var customer = client.GetCustomer(criteria.CustomerId);

            GetOrderActivities(activityList, criteria);
            GetNoteActivities(activityList, criteria, customer);
            GetTaskActivities(activityList, criteria);

            var activities = activityList
                .OrderByDescending(a => a.DisplayDateUtc)
                .Skip((criteria.Page * criteria.PageSize) - criteria.PageSize)
                .Take(criteria.PageSize)
                .ToArray();

            return new ActivitySummary { Activities = activities, Count = activityList.Count };
        }
コード例 #4
0
ファイル: PipeQuery.cs プロジェクト: AleksMorozova/prizm
        internal static string BuildSql(
            string Number,
            IList <PipeMillSizeType> CheckedPipeTypes,
            ActivityCriteria Activity,
            HashSet <PipeMillStatus> CheckedStatusTypes,
            DateTime externalCoatingDate,
            DateTime internalCoatingDate,
            DateTime weldingDate,
            string HeatNumber)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(
                @"  SELECT 
                        [Pipe].[id] as Id, 
                        [Pipe].[number],
                        [Heat].[number] as HeatNumber,
                        [Pipe].[mill] as Mill, 
                        [Pipe].[productionDate],
                        [Pipe].[pipeMillStatus] as PipeMillStatus,
                        [Pipe].[isActive],
                        [PurchaseOrder].[number] as PurchaseOrderNumber,
                        [PipeMillSizeType].[type] as [Type]
                    FROM 
                        [Pipe] join [Plate] on ([Plate].[id] = [Pipe].[plateId]) 
                         join [Heat] on ([Heat].[id] = [Plate].[heatId]) 
                         left join [PurchaseOrder] on ([PurchaseOrder].[id] = [Pipe].[purchaseOrderId])
                         left join [PipeMillSizeType] on ([PipeMillSizeType].[id] = [Pipe].[typeId]) ");

            sb.Append(string.Format(@" WHERE [Pipe].[number] LIKE N'{0}%' ESCAPE '\' ", Number.EscapeCharacters()));

            sb.Append(string.Format(@" AND [Heat].[number] LIKE N'{0}%' ESCAPE '\' ", HeatNumber.EscapeCharacters()));

            if (CheckedPipeTypes.Count > 0)
            {
                sb.Append(" AND [Pipe].[typeId] IN (");
                foreach (var t in CheckedPipeTypes)
                {
                    sb.Append(string.Format("  N'{0}',", t.Id.ToString()));
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append(" )");
            }

            if (Activity == ActivityCriteria.StatusActive)
            {
                sb.Append(string.Format(" AND [Pipe].[isActive] = N'{0}'", true));
            }
            else if (Activity == ActivityCriteria.StatusUnactive)
            {
                sb.Append(string.Format(" AND [Pipe].[isActive] = N'{0}'", false));
            }

            if (CheckedStatusTypes.Count > 0)
            {
                sb.Append(" AND PipeMillStatus IN (");
                foreach (var s in CheckedStatusTypes)
                {
                    sb.Append(string.Format("  N'{0}',", Enum.GetName(typeof(PipeMillStatus), s)));
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append(" )");
            }

            string coatingDateQuery  = @" AND EXISTS(
                SELECT 1
                FROM
                    [Coat]
                WHERE
                    [Coat].[pipeId] = [Pipe].[id] AND
                    [Coat].[type] = N'{0}' AND
                    CAST([Coat].[date] AS DATE) = CAST(N'{1}' AS DATE))";
            string sqlDateTimeFormat = "yyyy-MM-dd HH:mm:ss";

            if (externalCoatingDate != DateTime.MinValue)
            {
                sb.AppendFormat(coatingDateQuery,
                                CoatingType.External,
                                externalCoatingDate.Date.ToString(sqlDateTimeFormat));
            }

            if (internalCoatingDate != DateTime.MinValue)
            {
                sb.AppendFormat(coatingDateQuery,
                                CoatingType.Internal,
                                internalCoatingDate.Date.ToString(sqlDateTimeFormat));
            }

            if (weldingDate != DateTime.MinValue)
            {
                sb.AppendFormat(@" AND EXISTS(
                SELECT 1
                FROM
                    [Weld]
                WHERE
                    [Weld].[pipeId] = [Pipe].[id] AND
                    CAST([Weld].[date] AS DATE) = CAST(N'{0}' AS DATE))",
                                weldingDate.Date.ToString(sqlDateTimeFormat));
            }
            sb.AppendLine("ORDER BY [Pipe].[number] ASC");
            return(sb.ToString());
        }
コード例 #5
0
        internal static string BuildSql(System.ComponentModel.BindingList <PartType> partTypes, string number, ActivityCriteria Activity)
        {
            if (partTypes.Count == 0)
            {
                return(" ");
            }
            if (!string.IsNullOrWhiteSpace(number))
            {
                if (Activity == ActivityCriteria.StatusActive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' and number LIKE N'{1}%' ESCAPE '\' ", true, number.EscapeCharacters());
                }
                else if (Activity == ActivityCriteria.StatusUnactive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' and number LIKE N'{1}%' ESCAPE '\' ", false, number.EscapeCharacters());
                }
                else
                {
                    number = string.Format(@"WHERE number LIKE N'{0}%' ESCAPE '\' ", number.EscapeCharacters());
                }
            }

            else
            {
                if (Activity == ActivityCriteria.StatusActive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' ", true);
                }
                else if (Activity == ActivityCriteria.StatusUnactive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' ", false);
                }
            }

            StringBuilder sb      = new StringBuilder();
            List <string> queries = new List <string>();

            foreach (var item in partTypes)
            {
                switch (item)
                {
                case PartType.Undefined:
                    break;

                case PartType.Pipe:
                    queries.Add(string.Format(" SELECT id, number, isActive,'{0}' FROM pipe {1}", PartType.Pipe, number));
                    break;

                case PartType.Spool:
                    queries.Add(string.Format(" SELECT id, number, isActive, '{0}' FROM Spool {1}", PartType.Spool, number));
                    break;

                case PartType.Component:
                    queries.Add(string.Format(" SELECT id, number, isActive, '{0}' FROM Component {1}", PartType.Component, number));
                    break;

                default:
                    break;
                }
                queries.Add(" UNION ");
            }
            //delete last UNION
            queries.RemoveAt(queries.Count - 1);

            queries.Add(" ORDER BY number ASC ");

            queries.ForEach(x => sb.Append(x));

            return(sb.ToString());
        }
コード例 #6
0
        void GetTaskActivities(List<Activity> activityList, ActivityCriteria criteria)
        {
            var client = _quartetClientFactory.GetTaskQueryServiceClient();
            var results = client.QueryTaskListByCustomerId(new CustomerIdParameters{ CustomerId = criteria.CustomerId });

            if (results != null && results.Length > 0)
            {
                foreach (var result in results)
                    activityList.Add(_taskMapping.Map(result));
            }
        }
コード例 #7
0
ファイル: PartQuery.cs プロジェクト: AleksMorozova/prizm
        internal static string BuildSql(System.ComponentModel.BindingList<PartType> partTypes, string number, ActivityCriteria Activity)
        {
            if(partTypes.Count == 0)
            {
                return " ";
            }
            if (!string.IsNullOrWhiteSpace(number))
            {
                if (Activity == ActivityCriteria.StatusActive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' and number LIKE N'{1}%' ESCAPE '\' ", true ,number.EscapeCharacters()); 
                }
                else if (Activity == ActivityCriteria.StatusUnactive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' and number LIKE N'{1}%' ESCAPE '\' ", false, number.EscapeCharacters());
                }
                else
                {
                    number = string.Format(@"WHERE number LIKE N'{0}%' ESCAPE '\' ", number.EscapeCharacters());
                }
            }

            else
            {
                if (Activity == ActivityCriteria.StatusActive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' ", true);
                }
                else if (Activity == ActivityCriteria.StatusUnactive)
                {
                    number = string.Format(@"WHERE isActive = N'{0}' ", false);
                }
              
            }

            StringBuilder sb = new StringBuilder();
            List<string> queries = new List<string>();

            foreach(var item in partTypes)
            {
                switch(item)
                {
                    case PartType.Undefined:
                        break;
                    case PartType.Pipe:
                        queries.Add(string.Format(" SELECT id, number, isActive,'{0}' FROM pipe {1}", PartType.Pipe, number));
                        break;
                    case PartType.Spool:
                        queries.Add(string.Format(" SELECT id, number, isActive, '{0}' FROM Spool {1}", PartType.Spool, number));
                        break;
                    case PartType.Component:
                        queries.Add(string.Format(" SELECT id, number, isActive, '{0}' FROM Component {1}",PartType.Component, number));
                        break;
                    default:
                        break;
                }
                queries.Add(" UNION ");
            }
            //delete last UNION
            queries.RemoveAt(queries.Count - 1);

            queries.Add(" ORDER BY number ASC ");

            queries.ForEach(x => sb.Append(x));

            return sb.ToString();
        }
コード例 #8
0
ファイル: ActivityStream.ascx.cs プロジェクト: jaytem/minGit
    private void LoadActivityData()
    {
        PagingInfo _Page = new PagingInfo(cmsActivityFeed.MaxResults);
        _Page.CurrentPage = currentPageNumber;
        ActivityCriteria criteria = new ActivityCriteria();
        criteria.PagingInfo = _Page;
        criteria.OrderByDirection = EkEnumeration.OrderByDirection.Descending;
        criteria.OrderByField = Ektron.Cms.Activity.ActivityProperty.Date;
        List<long> userIdlist = new List<long>();
        List<long> groupIdList = new List<long>();

        foreach (string item in FriendPreferences)
        {

            if (userInfo.DisplayName.ToLower() == item.Substring(item.IndexOf(">")+1).ToLower())
            {
                userIdlist.Add(userInfo.Id);
            }
            for (int i = 0; i <= friendList.Length - 1; i++)
            {
                if (friendList[i].DisplayName == item.Substring(item.IndexOf(">") + 1))
                {

                    userIdlist.Add(friendList[i].Id);
                }
            }

        }
        foreach (string groupItem in GroupPreferences)
        {
            for (int i = 0; i <= groupList.Length - 1; i++)
            {
                if (groupList[i].GroupName == groupItem.Substring(groupItem.IndexOf(">") + 1))
                {

                    groupIdList.Add(groupList[i].GroupId);
                }
            }
        }
        criteria.Condition = LogicalOperation.Or;
        if (userIdlist.Count > 0)
        {
            criteria.AddFilter(Ektron.Cms.Activity.ActivityProperty.ActionUserId, CriteriaFilterOperator.In, userIdlist);
        }
        if (groupIdList.Count > 0)
        {
            CriteriaFilterGroup<Ektron.Cms.Activity.ActivityProperty> group = new CriteriaFilterGroup<Ektron.Cms.Activity.ActivityProperty>();
            group.Condition = LogicalOperation.And;
            group.AddFilter(Ektron.Cms.Activity.ActivityProperty.ScopeObjectType, CriteriaFilterOperator.EqualTo, EkEnumeration.ActivityFeedType.CommunityGroup);
            group.AddFilter(Ektron.Cms.Activity.ActivityProperty.ScopeObjectId, CriteriaFilterOperator.In, groupIdList);

            criteria.FilterGroups.Add(group);
        }
        if (userIdlist.Count > 0 || groupIdList.Count > 0)
        {
            ActivityData = _activityApi.GetUserActivityStream(criteria, _activityApi.RequestInformation.UserId);
            totalPagesNumber = criteria.PagingInfo.TotalPages;
         }
         PageSettings();
    }
コード例 #9
0
ファイル: PipeQuery.cs プロジェクト: SalamanderSunburn/prizm
        internal static string BuildSql(
            string Number,
            IList<PipeMillSizeType> CheckedPipeTypes,
            ActivityCriteria Activity,
            HashSet<PipeMillStatus> CheckedStatusTypes,
            DateTime externalCoatingDate,
            DateTime internalCoatingDate,
            DateTime weldingDate)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(
                @"  SELECT 
                        [Pipe].[id] as Id, 
                        [Pipe].[number],
                        [Heat].[number] as HeatNumber,
                        [Pipe].[mill] as Mill, 
                        [Pipe].[productionDate],
                        [Pipe].[pipeMillStatus] as PipeMillStatus,
                        [Pipe].[isActive],
                        [PurchaseOrder].[number] as PurchaseOrderNumber,
                        [PipeMillSizeType].[type] as [Type]
                    FROM 
                        [Pipe] join [Plate] on ([Plate].[id] = [Pipe].[plateId]) 
                         join [Heat] on ([Heat].[id] = [Plate].[heatId]) 
                         left join [PurchaseOrder] on ([PurchaseOrder].[id] = [Pipe].[purchaseOrderId])
                         left join [PipeMillSizeType] on ([PipeMillSizeType].[id] = [Pipe].[typeId]) ");

            sb.Append(string.Format(@" WHERE [Pipe].[number] LIKE N'{0}%' ESCAPE '\' ", Number.EscapeCharacters()));

            if (CheckedPipeTypes.Count > 0)
            {
                sb.Append(" AND [Pipe].[typeId] IN (");
                foreach (var t in CheckedPipeTypes)
                {
                    sb.Append(string.Format("  N'{0}',", t.Id.ToString()));
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append(" )");
            }

            if (Activity == ActivityCriteria.StatusActive)
            {
                sb.Append(string.Format(" AND [Pipe].[isActive] = N'{0}'", true));
            }
            else if (Activity == ActivityCriteria.StatusUnactive)
            {
                sb.Append(string.Format(" AND [Pipe].[isActive] = N'{0}'", false));
            }

            if (CheckedStatusTypes.Count > 0)
            {
                sb.Append(" AND PipeMillStatus IN (");
                foreach (var s in CheckedStatusTypes)
                {
                    sb.Append(string.Format("  N'{0}',", Enum.GetName(typeof(PipeMillStatus),s)));
                }
                sb.Remove(sb.Length - 1, 1);
                sb.Append(" )");
            }

            string coatingDateQuery = @" AND EXISTS(
                SELECT 1
                FROM
                    [Coat]
                WHERE
                    [Coat].[pipeId] = [Pipe].[id] AND
                    [Coat].[type] = N'{0}' AND
                    CAST([Coat].[date] AS DATE) = CAST(N'{1}' AS DATE))";
            string sqlDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            if (externalCoatingDate != DateTime.MinValue)
            {
                sb.AppendFormat(coatingDateQuery,
                    CoatingType.External,
                    externalCoatingDate.Date.ToString(sqlDateTimeFormat));
            }

            if(internalCoatingDate != DateTime.MinValue)
            {
                sb.AppendFormat(coatingDateQuery,
                    CoatingType.Internal,
                    internalCoatingDate.Date.ToString(sqlDateTimeFormat));
            }

            if (weldingDate != DateTime.MinValue)
            {
                sb.AppendFormat(@" AND EXISTS(
                SELECT 1
                FROM
                    [Weld]
                WHERE
                    [Weld].[pipeId] = [Pipe].[id] AND
                    CAST([Weld].[date] AS DATE) = CAST(N'{0}' AS DATE))",
                    weldingDate.Date.ToString(sqlDateTimeFormat));
            }
            sb.AppendLine("ORDER BY [Pipe].[number] ASC");
            return sb.ToString();
        }