示例#1
0
        private ElectricityInfoEntity createSummaryElectricityRow(IGrouping <int, ElectricityFileInfo> row)
        {
            var defaultValues  = row.First();
            var maxPaymentDate = row.Max(x => x.PaymentDate);

            return(new ElectricityInfoEntity
            {
                AmountAfterTax = row.Sum(x => x.Amount),
                BankAccount = defaultValues.BankAccount,
                BankAccountType = defaultValues.BankAccountType,
                Branch = defaultValues.BankBranch,
                Bank = defaultValues.BankCode,
                BillCreatingDate = row.Min(x => x.BillCreatingDate),
                ConsumerAddress = defaultValues.ConsumerAddress,
                ConsumerName = defaultValues.ConsumerName,
                ConsumerNumber = defaultValues.ConsumerNumber,
                CustomerId = defaultValues.CustomerId,
                GeneralRowId = defaultValues.GeneralRowId,
                Invoice = 0,
                JournalEntryNumber = 0,
                MonthOfLastInvoice = maxPaymentDate.Month,
                NumberOfCreditDays = defaultValues.NumberOfCreditDays,
                PaymentDate = maxPaymentDate,
                YearOfLastInvoice = maxPaymentDate.Year,
                IsMatched = row.Where(x => !x.IsMatched).Count() == 0,
                Contract = row.Key,
                RowId = 0,
            });
        }
        private static void AnalyzeDacViewsForNumberOfCaches(PXGraphSemanticModel graphSemanticModel, SymbolAnalysisContext symbolContext,
                                                             PXContext pxContext, IGrouping <ITypeSymbol, DataViewInfo> dacViews,
                                                             ILookup <ITypeSymbol, DataViewInfo> viewsGroupedByDAC)
        {
            var         dacViewsDeclaredInGraph = dacViews.Where(view => GraphContainsViewDeclaration(graphSemanticModel, view));
            ITypeSymbol dac = dacViews.Key;
            int         dacViewDeclarationOrder = dacViews.Min(view => view.DeclarationOrder);
            var         baseDacs = dac.GetBaseTypes()
                                   .Where(t => t.IsDAC() && viewsGroupedByDAC.Contains(t))
                                   .ToList();

            if (baseDacs.Count != 1)
            {
                return;
            }

            ITypeSymbol baseDac          = baseDacs[0];
            int         baseDacViewOrder = viewsGroupedByDAC[baseDac].Min(baseDacView => baseDacView.DeclarationOrder);

            DiagnosticDescriptor descriptor = dacViewDeclarationOrder > baseDacViewOrder
                                        ? Descriptors.PX1004_ViewDeclarationOrder                                //the first declared DAC view goes after the first declared base DAC view and two caches will be created
                                        : Descriptors.PX1006_ViewDeclarationOrder;                               //the first declared DAC view goes before the first declared base DAC view and one cache will be created

            var baseDacViewsDeclaredInGraph = viewsGroupedByDAC[baseDac].Where(view => GraphContainsViewDeclaration(graphSemanticModel, view));
            var viewsToShowDiagnostic       = dacViewsDeclaredInGraph.Concat(baseDacViewsDeclaredInGraph);

            ReportDiagnostic(descriptor, symbolContext, pxContext, viewsToShowDiagnostic, dac, baseDac);
        }
示例#3
0
        private void InsertBidResult(IGrouping <string, dutchBid> bids)
        {
            string type          = "dutch";
            double minimumAmount = bids.Min(x => x.amount);

            foreach (var bid in bids)
            {
                using (SqlConnection sqlCon = new SqlConnection(connectionString))
                {
                    string insertQuery = @"INSERT INTO [dbo].[result](
                                 [itemid], [itemname],  [custid], [amount],  [result],  [type],qty,[custname]  ) 

                                 VALUES('" + bid.itemid + "','" + bid.itemname + "','" + bid.custid + "','" + minimumAmount + "','" + type + "','" + type + "','" + bid.bidQty + "','" + bid.custname + "')";

                    SqlCommand sqlCmd = new SqlCommand(insertQuery, sqlCon);
                    sqlCon.Open();
                    sqlCmd.ExecuteNonQuery();
                    //Mail(Convert.ToInt32(TextBox3.Text));
                    int    id     = Convert.ToInt32(TextBox3.Text);
                    string item   = TextBox2.Text;
                    int    amount = Convert.ToInt32(TextBox4.Text);
                    string query  = "select emailid, uname from dbo.newuser where custid = " + id;
                    da = new SqlDataAdapter(query, cn);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    string      email      = dt.Rows[0][0].ToString();
                    string      name       = dt.Rows[0][1].ToString();
                    MailMessage mail       = new MailMessage();
                    SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                    mail.From = new MailAddress("*****@*****.**");
                    mail.To.Add(email);
                    mail.Subject = "You are Winner";
                    mail.Body    = "Hello " + name + ", You won the dutch Auction for item " + item + " at price " + amount + ". Please contact the seller.";

                    SmtpServer.Port        = 587;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "exercise01");
                    SmtpServer.EnableSsl   = true;


                    try
                    {
                        SmtpServer.Send(mail);
                        Response.Write("<script>alert('Successfully Sent...');if(alert){ window.location='SendMail.aspx';}</script>");
                    }
                    catch (Exception ex)
                    {
                        Exception ex2          = ex;
                        string    errorMessage = string.Empty;
                        Response.Write("<script>alert('Sending Failed...');if(alert){ window.location='SendMail.aspx';}</script>");
                    }
                }
            }
        }
示例#4
0
        public static double 获取最小值(IGrouping <string, QcEvaDataEntry> lst)//每组的最小分
        {
            if (lst.Key == "不分组" || lst.Key == "0")
            {
                return(lst.Min(t => t.得分));
            }
            var            tdata = lst.First();
            QcEvaCheckData check = null;

            if (tdata is QcEvaCheckData)//检查项
            {
                check = lst.First() as QcEvaCheckData;
            }
            else if (tdata is QcEvaSubQaData)//质量子元素
            {
                check = (lst.First() as QcEvaSubQaData).Nodes.First();
            }
            else if (tdata is QcEvaQaData)  //质量元素 oct修改 2016.1-18
            {
                return(lst.Min(t => t.得分)); //一般质量元素级别采用的是各个质量元素的最低分直接娶最低分
            }

            double 得分 = 0;

            if (check != null)             //非质量元素级别,在质量元素级别不能采用把所有个数加起来,在质量
            {
                if (check.结果值枚举 == "R:R0") //需要把所有的错误个数加起来
                {
                    得分 = CalScoreRR0(check.参数, lst.Sum(t => t.A类错误), lst.Sum(t => t.B类错误), lst.Sum(t => t.C类错误), lst.Sum(t => t.D类错误), new QcEvaPara(check.限差值));
                }
                else
                {
                    得分 = QcEvaConst.总分数 - (QcEvaConst.总分数 * lst.Count() - lst.Sum(t => t.得分));
                }
            }
            foreach (var v in lst)
            {
                v.分组得分 = 得分;
            }
            return(得分);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DuringFirst"/> class.
        /// </summary>
        public DuringFirst(IGrouping <string, RescueRoomInfo> group, DateTime time)
        {
            this.DuringMin = group.Min(c => c.DuringHours.Value);
            this.DuringMax = group.Max(c => c.DuringHours.Value);
            this.Time      = time;
            this.Level     = 1;

            this.DuringGroupName = group.Key;
            this.Count           = group.Count();

            this.List = group.OrderBy(c => c.During).GroupBy(c => c.DuringHours.Value).Select(c => new DuringSecond(c, time)).ToList();
        }
        private static void CreateHeader(StringBuilder sb, IGrouping <DateTime, RaidModel> raidDate)
        {
            var killed = raidDate.Count(i => i.Killed);
            var failed = raidDate.Count(i => !i.Killed);
            var bosses = raidDate.Select(i => i.EncounterName).Distinct().Count();

            var tryTime = new TimeSpan(raidDate.Select(i => i.OccurenceEnd - i.OccurenceStart)
                                       .Sum(i => i.Ticks));
            var raidTime = raidDate.Max(i => i.OccurenceEnd) - raidDate.Min(i => i.OccurenceStart);

            sb.Append(HtmlCreator.CreateHeaderHtml(raidDate.Key, killed, failed, tryTime, raidTime, bosses));
        }
        private void GenerateStatistics(IGrouping <uint, ObjectInfo> nsGroup)
        {
            Stats.Add(new Statistic()
            {
                StatName  = "Object count",
                StatValue = nsGroup.Count().ToString("N0")
            });

            Stats.Add(new Statistic()
            {
                StatName  = "Total object data",
                StatValue = nsGroup.Sum(oi => (long)oi.SizeInBytes).ToString("N0") + " bytes"
            });

            Tuple <double, double> meanStdDev = Statistics.MeanStandardDeviation(nsGroup.Select(oi => (double)oi.SizeInBytes));

            Stats.Add(new Statistic()
            {
                StatName  = "Average object size",
                StatValue = meanStdDev.Item1.ToString("N2") + " bytes"
            });

            Stats.Add(new Statistic()
            {
                StatName  = "StdDev",
                StatValue = meanStdDev.Item2.ToString("N2")
            });

            Stats.Add(new Statistic()
            {
                StatName  = "Median",
                StatValue = Statistics.Median(nsGroup.Select(oi => (double)oi.SizeInBytes)).ToString("N0") + " bytes"
            });

            Stats.Add(new Statistic()
            {
                StatName  = "Smallest object",
                StatValue = nsGroup.Min(oi => oi.SizeInBytes).ToString("N0") + " bytes"
            });

            Stats.Add(new Statistic()
            {
                StatName  = "Largest object",
                StatValue = nsGroup.Max(oi => oi.SizeInBytes).ToString("N0") + " bytes"
            });
        }
        private void InsertBidResult(IGrouping <string, dutchBid> bids)
        {
            string type          = "dutch";
            double minimumAmount = bids.Min(x => x.amount);

            foreach (var bid in bids)
            {
                using (SqlConnection sqlCon = new SqlConnection(connectionString))
                {
                    string insertQuery = @"INSERT INTO [dbo].[result](
                                 [itemid], [itemname],  [custid], [amount],  [result],  [type]  ) 

                                 VALUES('" + bid.itemid + "','" + bid.itemname + "','" + bid.custid + "','" + minimumAmount + "','" + type + "','" + type + "')";

                    SqlCommand sqlCmd = new SqlCommand(insertQuery, sqlCon);
                    sqlCon.Open();
                    sqlCmd.ExecuteNonQuery();
                }
            }
        }
示例#9
0
        private double ComputeAggregate(IGrouping <string, SdtmRow> rows, string func, string aggVar)
        {
            double n;

            switch (func)
            {
            case "AVG":
                return(rows.Average(i => double.TryParse(i.Qualifiers[aggVar], out n) ? n : 0));

            case "MAX":
                return(rows.Max(i => double.TryParse(i.Qualifiers[aggVar], out n) ? n : 0));

            case "MIN":
                return(rows.Min(i => double.TryParse(i.Qualifiers[aggVar], out n) ? n : 0));

            case "SUM":
                return(rows.Sum(i => double.TryParse(i.Qualifiers[aggVar], out n)? n : 0));

            default:
                return(0);
            }
        }
        public CohortGroup MapCohortGroup(IGrouping <DateTime, CohortMember> group)
        {
            int totalUniqueCustomersWithinCohort = group
                                                   .Select(o => o.CustomerId)
                                                   .Distinct()
                                                   .Count();

            return(new CohortGroup
            {
                CohortRange = FormatCohortRange(
                    group.Min(g => g.CohortDate),
                    group.Max(g => g.CohortDate)
                    ),
                Customers = totalUniqueCustomersWithinCohort,
                Buckets = group
                          .Where(item => item.CohortPeriod > 0)
                          .OrderBy(item => item.CohortPeriod)
                          .GroupBy(item => item.CohortPeriod)
                          .Select(bucket => this.MapBucket(bucket, totalUniqueCustomersWithinCohort))
                          .ToList(),
            });
        }
        private static float Aggregate(IGrouping <string, TransactionWithTimestamp> period, Aggregation aggregation)
        {
            switch (aggregation)
            {
            case Aggregation.Count:
                return(period.Count());

            case Aggregation.Avg:
                return(period.Average(t => t.Transaction.Amount));

            case Aggregation.Sum:
                return(period.Sum(p => p.Transaction.Amount));

            case Aggregation.Min:
                return(period.Min(t => t.Transaction.Amount));

            case Aggregation.Max:
                return(period.Max(t => t.Transaction.Amount));

            default:
                throw new InvalidOperationException("Unknown aggregation.");
            }
        }
        // Tuple
        // item1: columnName,
        // item2: columnType,
        // item3: OperatorMode.
        private static Feature CollectNewColumnValues(IGrouping <string, Feature> groupFeature, Dictionary <string, string> newColumnValues, Tuple <string, string, DissolveOperatorMode> operatorPair)
        {
            PairStrategy pairStrategy = new PairStrategy
            {
                ColumnName = operatorPair.Item1,
                ColumnType = operatorPair.Item2,
                Operator   = operatorPair.Item3
            };

            var getIntColumnValueFunc = new Func <Feature, int>(f =>
            {
                int currentValue = 0;
                if (f.ColumnValues.ContainsKey(pairStrategy.ColumnName))
                {
                    Int32.TryParse(f.ColumnValues[pairStrategy.ColumnName], out currentValue);
                }
                return(currentValue);
            });

            var getDoubleColumnValueFunc = new Func <Feature, double>(f =>
            {
                double currentValue = 0;
                if (f.ColumnValues.ContainsKey(pairStrategy.ColumnName))
                {
                    Double.TryParse(f.ColumnValues[pairStrategy.ColumnName], out currentValue);
                }
                return(currentValue);
            });

            Feature feature = new Feature();

            switch (pairStrategy.Operator)
            {
            case DissolveOperatorMode.First:
                feature = groupFeature.FirstOrDefault();
                if (feature.GetShape() != null)
                {
                    newColumnValues.Add(pairStrategy.ColumnName, feature.ColumnValues[pairStrategy.ColumnName]);
                }
                break;

            case DissolveOperatorMode.Last:
                feature = groupFeature.LastOrDefault();
                if (feature.GetShape() != null)
                {
                    newColumnValues.Add(pairStrategy.ColumnName, feature.ColumnValues[pairStrategy.ColumnName]);
                }
                break;

            case DissolveOperatorMode.Count:
                newColumnValues.Add(pairStrategy.ColumnName, groupFeature.Count().ToString());
                break;

            case DissolveOperatorMode.Sum:
                if (pairStrategy.ColumnType.Equals("Integer", StringComparison.OrdinalIgnoreCase))
                {
                    int intSum = groupFeature.Sum(getIntColumnValueFunc);
                    newColumnValues.Add(pairStrategy.ColumnName, intSum.ToString());
                }
                else if (pairStrategy.ColumnType.Equals("Double", StringComparison.OrdinalIgnoreCase))
                {
                    double doubleSum = groupFeature.Sum(getDoubleColumnValueFunc);
                    newColumnValues.Add(pairStrategy.ColumnName, doubleSum.ToString());
                }
                break;

            case DissolveOperatorMode.Average:
                if (pairStrategy.ColumnType.Equals("Integer", StringComparison.OrdinalIgnoreCase) || pairStrategy.ColumnType.Equals("Double", StringComparison.OrdinalIgnoreCase))
                {
                    double averageValue = groupFeature.Average(getDoubleColumnValueFunc);
                    newColumnValues.Add(pairStrategy.ColumnName, averageValue.ToString());
                }
                break;

            case DissolveOperatorMode.Min:
                if (pairStrategy.ColumnType.Equals("Integer", StringComparison.OrdinalIgnoreCase))
                {
                    int intMin = groupFeature.Min(getIntColumnValueFunc);
                    newColumnValues.Add(pairStrategy.ColumnName, intMin.ToString());
                }
                else if (pairStrategy.ColumnType.Equals("Double", StringComparison.OrdinalIgnoreCase))
                {
                    double doubleMin = groupFeature.Sum(getDoubleColumnValueFunc);
                    newColumnValues.Add(pairStrategy.ColumnName, doubleMin.ToString());
                }
                break;
            }
            return(feature);
        }
        private static void SaveGroupToFile(IGrouping<decimal, Row> grouping)
        {
            var minRate = grouping.Min(row => row.Rate);
            var maxRate = grouping.Max(row => row.Rate);//or grouping.Key
            var fileName = string.Format("DailyCompounded_PaidWeekly_Principal1-10m_Rate{0}-{1}.csv",
                minRate,
                maxRate);

            var csvLines = from row in grouping
                    orderby row.Rate, row.Principal, row.Term
                    select row.ToCsv();
            var rows = Enumerable.Repeat(Row.CsvHeader, 1)
                                 .Concat(csvLines);

            File.WriteAllLines(fileName, rows);

            //var binaryContents = SevenZipHelper.Decompress(zipConents);
            var bytes = File.ReadAllBytes(fileName);
            var compressed = SevenZipHelper.Compress(bytes);
            File.WriteAllBytes(fileName +".lzma", compressed);
        }
示例#14
0
		public ActivityEditorVm(
			Model.Task task, 
			Dal.SoheilEdmContext uow,
			IGrouping<Model.Activity, Model.StateStationActivity> ssaGroup)
			: base(ssaGroup.Key)
		{
			Message = new Common.SoheilException.EmbeddedException();

			if (!ssaGroup.Any())
			{
				Message.AddEmbeddedException("فعالیتی وجود ندارد");
				return;
			}

			//make ProcessList self-aware of all changes
			ProcessList.CollectionChanged += (s, e) =>
			{
				if (e.NewItems != null)
					foreach (ProcessEditorVm processVm in e.NewItems)
					{
						ProcessList_Added(processVm);
					}
			};

			//Add Choices
			foreach (var choice in ssaGroup.OrderBy(ssa => ssa.ManHour))
			{
				Choices.Add(new ChoiceEditorVm(choice));
			}

			//Add existing processes
			foreach (var process in task.Processes.Where(x => x.StateStationActivity.Activity.Id == ssaGroup.Key.Id))
			{
				ProcessList.Add(new ProcessEditorVm(process, Model, uow));
			}

			//Add process command
			AddProcessCommand = new Commands.Command(o =>
			{
				
				DateTime dt;
				if (GetTaskStart == null)
					dt = ProcessList.Any() ?
						ProcessList
							.Where(x => x.ActivityModel.Id == ssaGroup.Key.Id)
							.Max(x => x.Model.EndDateTime)
						: task.StartDateTime;
				else
					dt = GetTaskStart();

				var minMH = ssaGroup.Min(x => x.ManHour);

				var processVm = new ProcessEditorVm(
					new Model.Process
					{
						StartDateTime = dt,
						EndDateTime = dt,
						StateStationActivity = ssaGroup.First(x=>x.ManHour == minMH),
						TargetCount = 0,
						Task = task,
					}, Model, uow);//activity Model is set here
				ProcessList.Add(processVm);
				processVm.IsSelected = true;
			});
		}