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); }
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>"); } } } }
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(); } } }
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); }
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; }); }