public Yield GetCommentContent(DreamContext context, DreamMessage request, Result<DreamMessage> response) { PageBE page = null; CommentBE comment = null; GetCommentFromRequest(context, Permissions.READ, out page, out comment); response.Return(DreamMessage.Ok(new MimeType(comment.ContentMimeType), comment.Content)); yield break; }
private void ImageChooserCallback(int requestCode, Result resultCode, Intent intent) { if (resultCode == Result.Ok) { if (ImageSelected != null) { Android.Net.Uri uri = intent.Data; if (ImageSelected != null) { ImageSource imageSource = ImageSource.FromStream(() => Forms.Context.ContentResolver.OpenInputStream(uri)); ImageSelected.Invoke(this, new ImageSourceEventArgs(imageSource)); string doc_id = ""; using (var c1 = Forms.Context.ContentResolver.Query (uri, null, null, null, null)) { c1.MoveToFirst (); string document_id = c1.GetString (0); doc_id = document_id.Substring (document_id.LastIndexOf (":") + 1); } string selection = Android.Provider.MediaStore.Images.Media.InterfaceConsts.Id + " =? "; var cursor = Forms.Context.ContentResolver.Query (MediaStore.Images.Media.ExternalContentUri, null, selection, new string[] {doc_id}, null); var colIndex = cursor.GetColumnIndex(Android.Provider.MediaStore.Images.Media.InterfaceConsts.Data); cursor.MoveToFirst(); App.imagePath = cursor.GetString (colIndex); cursor.Close (); } } } }
public static Result SetSessionByExamList() { ExamBO oExamBO = new ExamBO(); Result oResult = new Result(); List<Exam> oListExam = new List<Exam>(); try { oResult = oExamBO.ExamGetFromDatabaseForSetSession(); if (oResult.ResultIsSuccess) { oListExam = (List<Exam>)oResult.ResultObject; Utils.SetSession(SessionManager.csStoredExam, oListExam); } } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "Exception occured during Set Session By ExamList."; } return oResult; }
public void OnSpecificationEnd(SpecificationInfo specification, Result result) { if (listenFor != null && !listenFor.Equals(specification.ToVisualStudioTestIdentifier(currentContext))) return; runListener.OnSpecificationEnd(specification, result); }
private void button1_Click(object sender, EventArgs e) { //bdl ma ad5l el input kol shwia /* Recognetion r = new Recognetion(600, 600, 100.ToString(), 110.ToString(), 120.ToString(), 0.7.ToString(), 0.4.ToString(), 0.3.ToString(), 230.ToString(), 20.ToString(), 20.ToString(), 0.1.ToString(), 0.2.ToString(), 0.6.ToString(), 210.ToString(), 230.ToString(), 190.ToString(), 0.5.ToString(), 0.4.ToString(), 0.3.ToString(), 40.ToString(), 10.ToString(), 30.ToString(), 0.4.ToString(), 0.2.ToString(), 0.1.ToString() ); */ Recognetion r = new Recognetion(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text), textBox3.Text, textBox5.Text, textBox7.Text, textBox4.Text, textBox6.Text, textBox8.Text, textBox20.Text, textBox18.Text, textBox16.Text, textBox19.Text, textBox17.Text, textBox15.Text, textBox14.Text, textBox12.Text, textBox10.Text, textBox13.Text, textBox11.Text, textBox9.Text, textBox26.Text, textBox24.Text, textBox22.Text, textBox25.Text, textBox23.Text, textBox21.Text); Result frm = new Result(r); frm.Show(); }
public Result Method3() { Result result = new Result(); result.State = true; result.Message = "Test Message"; return result; }
public Result LoadQuestionsForACandidateInExam(CandidateForExam oCandidateForExam) { //new CLogger("Start LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Start LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug); Result oResult = new Result(); CandidateExamProcessDAO oCandidateExamProcessDAO = new CandidateExamProcessDAO(); try { oResult = oCandidateExamProcessDAO.LoadQuestionsForACandidateInExam(oCandidateForExam); } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultMessage = "Exception in Question Load For an Exam.."; oResult.ResultException = oEx; //new CLogger("Exception LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Exception LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug, oEx); } //new CLogger("Out LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", FileNameManagerInDLL.sLogFileName, 1).WriteLog("Out LoadQuestionsForACandidateInExam CandidateExamProcessBO+BO", ELogLevel.Debug); return oResult; }
public Yield Invoke(Plug plug, string verb, XUri uri, DreamMessage request, Result<DreamMessage> response) { // NOTE (steveb): we convert 'xri://@name/path?params' into 'http://xri.net/@name/path?params' // prepend segments with authority List<string> segments = new List<string>(); segments.Add(uri.Authority); if(uri.Segments != null) { segments.AddRange(uri.Segments); } // build new plug List<PlugHandler> preHandlers = (plug.PreHandlers != null) ? new List<PlugHandler>(plug.PreHandlers) : null; List<PlugHandler> postHandlers = (plug.PostHandlers != null) ? new List<PlugHandler>(plug.PostHandlers) : null; Plug xri = new Plug(new XUri("http", null, null, "xri.net", 80, segments.ToArray(), uri.TrailingSlash, uri.Params, uri.Fragment), plug.Timeout, request.Headers, preHandlers, postHandlers, plug.Credentials, plug.CookieJar, plug.MaxAutoRedirects); // add 'Accept' header for 'application/xrds+xml' mime-type if((xri.Headers == null) || (xri.Headers.Accept == null)) { xri = xri.WithHeader(DreamHeaders.ACCEPT, MimeType.RenderAcceptHeader(MimeType.XRDS)); } // BUGBUGBUG (steveb): this will probably fail in some cases since we may exit this coroutine before the call has completed! xri.InvokeEx(verb, request, response); yield break; }
public Result UpdateAccount(Account account, bool deleteAccount) { IList<Account> accounts = GetAccounts().ToList(); var result = new Result() { Activity = deleteAccount ? "Delete Account" : "Update Account" }; if (accounts.Count > 0 && accounts.All(x => x != null)) { if (deleteAccount) { accounts.Remove(accounts.FirstOrDefault(x => x.UserName == account.UserName)); } else { accounts.Remove(accounts.FirstOrDefault(x => x.UserName == account.UserName)); accounts.Add(account); result.Account = account; } using (TextWriter writer = new StreamWriter(_FileName)) { _Serializer.Serialize(writer, accounts.ToArray()); } result.IsSuccessful = true; } else { result.IsSuccessful = false; result.Reason = "Xml did not return any accounts."; } return result; }
public void GetData(IRequest request) { int numberToDisplay = 5; Sage.SalesLogix.Security.SLXUserService slxUserService = ApplicationContext.Current.Services.Get<Sage.Platform.Security.IUserService>() as Sage.SalesLogix.Security.SLXUserService; string currentUserId = slxUserService.GetUser().Id.ToString(); IRepository<IOpportunity> oRep = EntityFactory.GetRepository<IOpportunity>(); IExpressionFactory ep = ((IQueryable)oRep).GetExpressionFactory(); ICriteria countCrit = GetOpenOppCrit(oRep, ep, currentUserId); countCrit.SetProjection(((IQueryable)oRep).GetProjectionsFactory().RowCount()); int totalCount = Convert.ToInt32(countCrit.UniqueResult()); ICriteria crit = GetOpenOppCrit(oRep, ep, currentUserId); crit.AddOrder(ep.Asc("EstimatedClose")); crit.SetMaxResults(numberToDisplay); IList<IOpportunity> opps = crit.List<IOpportunity>(); numberToDisplay = (totalCount < numberToDisplay) ? totalCount : numberToDisplay; var result = new Result(); result.items = new List<OpportunityRepresentation>(); result.columns = new string[] { "id", "description", "estClose", "potential", "probability", "stage", "nextStep", "nextActivityId", "nextActivityName", "daysInStage", "daysSinceLastActivity" }; for (int i = 0; i < numberToDisplay; i++) { result.items.Add(OpportunityRepresentation.from(opps[i])); } string groupId = GetPluginIdFromFamilyAndName("Opportunity", "My Open Opps"); int groupCount = totalCount; result.openOppGroup = groupId; result.openOppCount = groupCount; result.numberToDisplay = numberToDisplay; request.Response.ContentType = MediaType.JSON; request.Response.Html = JavaScriptConvert.SerializeObject(result); }
void AdminWindow_OnBeforeDisplayAdminWindowOverlay(Result result) { if(WebAuthentication.IsLoggedIn) if(WebAuthentication.VerifyAccess(PermissionType.AdministrativeAccess)) return; result.SetFailed("access denied"); }
public void OnSpecificationEnd(SpecificationInfo specification, Result result) { var formatter = resultFormatterFactory.GetResultFormatterFor(result); testListener.WriteLine(formatter.FormatResult(specification), Category.Output); var testResult = new TestResult(); testResult.Name = specification.Name; if (result.Passed) testResult.State = TestState.Passed; else if (result.Status == Status.Ignored) { testResult.State = TestState.Ignored; testResult.Message = "Ignored"; } else if (result.Status == Status.NotImplemented) { testResult.State = TestState.Ignored; testResult.Message = "Not Implemented"; } else { testResult.State = TestState.Failed; if (result.Exception != null) testResult.StackTrace = result.Exception.ToString(); } testResults.Add(testResult); }
private Result ParseResult(string line) { string[] parts = line.Split(new[] { ',' }, StringSplitOptions.None); if (parts.Length != 12) { throw new InvalidOperationException("CSV file has invalid format. Please delete CSV first."); } var result = new Result(); result.Name = parts[0]; result.Version = parts[1]; result.SingletonTime = long.Parse(parts[2]); result.TransientTime = long.Parse(parts[3]); result.CombinedTime = long.Parse(parts[4]); result.ComplexTime = long.Parse(parts[5]); result.PropertyInjectionTime = parts[6] == "0" ? (long?)null : long.Parse(parts[6]); result.GenericTime = parts[7] == "0" ? (long?)null : long.Parse(parts[7]); result.MultipleImport = parts[8] == "0" ? (long?)null : long.Parse(parts[8]); result.ConditionalTime = parts[9] == "0" ? (long?)null : long.Parse(parts[9]); result.ChildContainerTime = parts[10] == "0" ? (long?)null : long.Parse(parts[10]); result.InterceptionTime = parts[11] == "0" ? (long?)null : long.Parse(parts[11]); return result; }
public ResultPage(Result r) { InitializeComponent(); currentResult = r; timer.Tick += new EventHandler(hideSaved); timer.Interval = new TimeSpan(0, 0, 1); }
/// <summary> /// Build the index /// </summary> public virtual void Build(MetricDB db, int bsize, Random rand) { this.DB = db; var n = this.DB.Count; // randomized has very good performance, even compared with more "intelligent" strategies var dseq = new DynamicSequentialOrdered (); dseq.Build (db, rand); this.NODES = new List<Node> (n / bsize + 1); var L = new List<ItemPair> (n); while (dseq.Count > 0) { if (this.NODES.Count % 100 == 0) { Console.WriteLine ("XXX {0}, bucketSize: {1}, remain {2}/{3}, db: {4}, date-time: {5}", this, bsize, dseq.Count, db.Count, Path.GetFileName(db.Name), DateTime.Now); } var refID = dseq.GetAnyItem (); dseq.Remove (refID); L.Clear (); dseq.ComputeDistances (this.DB[refID], L); var near = new Result(bsize); var far = new Result (1); dseq.AppendKExtremes (near, far, L); var node = new Node (refID); this.NODES.Add (node); dseq.Remove (near); foreach (var p in near) { node.Add(p.ObjID, p.Dist); } } }
public Specification(string name, Result result) { _status = result.Status; _exception = result.Exception; _supplements = result.Supplements; _name = name; }
public static Result SetSessionByCategoryList() { CategoryBO oCategoryBO = new CategoryBO(); Result oResult = new Result(); List<Category> oListCategory = new List<Category>(); try { oResult = oCategoryBO.CategoryGetFromDatabaseForSetSession(); if (oResult.ResultIsSuccess) { oListCategory = (List<Category>)oResult.ResultObject; Utils.SetSession(SessionManager.csStoredCategory, oListCategory); } } catch (Exception oEx) { oResult.ResultIsSuccess = false; oResult.ResultException = oEx; oResult.ResultMessage = "Exception occured during Set Session By CategoryList."; } return oResult; }
public Result Run(int itemCount, long dllSize) { var result = new Result() { TestName = Name, DTOCount = itemCount, DLLSize = dllSize }; var startDate = DateTime.Now; var stream = new MemoryStream(); var testData = SampleDTO.GenerateSamples(itemCount); var endDate = DateTime.Now; result.SetupTime = (endDate - startDate).TotalMilliseconds; startDate = DateTime.Now; SerializerUtility.Serialize(stream, testData); endDate = DateTime.Now; result.SerializeTime = (endDate - startDate).TotalMilliseconds; result.SerializedByteCount = stream.ToArray().Length; stream.Seek(0, SeekOrigin.Begin); startDate = DateTime.Now; var deData = SerializerUtility.Deserialize<SampleDTO>(stream); endDate = DateTime.Now; result.DeserializeTime = (endDate - startDate).TotalMilliseconds; return result; }
public void InitialiseDatabase(Result result) { if (!result.Succeeded) return; SqlConnection conn = null; try { using (TransactionScope scope = new TransactionScope()) { conn = (SqlConnection)DatabaseManager.DatabaseEngine.GetConnection(); SqlServer2005Database db = (SqlServer2005Database)DatabaseManager.DatabaseEngine; Result r = db.ExecuteScript(conn, ResourceLoader.LoadTextResource("Sprocket.Web.FileManager.SqlServer2005.scripts.sql")); if (!r.Succeeded) { result.SetFailed(r.Message); return; } scope.Complete(); } } finally { DatabaseManager.DatabaseEngine.ReleaseConnection(conn); } return; }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == 111 && resultCode == Result.Ok) { Console.WriteLine (data.Data); } base.OnActivityResult (requestCode, resultCode, data); }
/// <summary> /// Get the variable value. /// </summary> /// <returns></returns> public Result GetResult() { Result result = new Result( 1 ); result.Add( new object[]{Value} ); return result; }
/// <summary> /// Locates and decodes a MaxiCode within an image. This method also accepts /// hints, each possibly associated to some data, which may help the implementation decode. /// </summary> /// <param name="image">image of barcode to decode</param> /// <param name="hints">passed as a <see cref="IDictionary{TKey, TValue}"/> from <see cref="DecodeHintType"/> /// to arbitrary data. The /// meaning of the data depends upon the hint type. The implementation may or may not do /// anything with these hints.</param> /// <returns> /// String which the barcode encodes /// </returns> public Result Decode(BinaryBitmap image, IDictionary<DecodeHintType, object> hints) { DecoderResult decoderResult; if (hints != null && hints.ContainsKey(DecodeHintType.PURE_BARCODE)) { BitMatrix bits = extractPureBits(image.BlackMatrix); if (bits == null) return null; decoderResult = decoder.decode(bits, hints); if (decoderResult == null) return null; } else { return null; } ResultPoint[] points = NO_POINTS; Result result = new Result(decoderResult.Text, decoderResult.RawBytes, points, BarcodeFormat.MAXICODE); var ecLevel = decoderResult.ECLevel; if (ecLevel != null) { result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel); } return result; }
/// <summary> /// �w��REST API�̌Ăяo����s�� /// </summary> public int GetStatusCode(string extend, ref Result result) { result.Initialize(); result.url = baseurl; HttpWebRequest webreq = null; try { webreq = (HttpWebRequest)WebRequest.Create(result.url); } catch (SystemException e) { result.data = e.Message; result.returnCode = -1; return result.returnCode; } //���\�b�h��POST��w�� webreq.Timeout = timeoutLimit; webreq.Method = "GET"; if (extend != null && extend.Length > 0) { webreq.Method = "POST"; webreq.ContentLength = extend.Length; System.IO.Stream reqStream = webreq.GetRequestStream(); reqStream.Write(Encoding.UTF8.GetBytes(extend), 0, extend.Length); reqStream.Close(); } HttpWebResponse webres = null; try { webres = (HttpWebResponse)webreq.GetResponse(); Stream st = webres.GetResponseStream(); Encoding enc = Encoding.GetEncoding("utf-8"); StreamReader sr = new StreamReader(st, enc); result.data = sr.ReadToEnd(); sr.Close(); result.returnCode = (int)webres.StatusCode; } catch (System.Net.WebException ex) { if (ex.Status == System.Net.WebExceptionStatus.ProtocolError) { HttpWebResponse errres = (HttpWebResponse)ex.Response; result.returnCode = (int)errres.StatusCode; } else { // �������z�X�g���Ȃǂ�����ł��Ȃ���� result.returnCode = -1; } result.data = ex.Message; } finally { if (webres != null) { webres.Close(); } } return result.returnCode; }
public Yield GetGroup(DreamContext context, DreamMessage request, Result<DreamMessage> response) { PermissionsBL.CheckUserAllowed(DekiContext.Current.User, Permissions.READ); GroupBE group = GetGroupFromUrl(); DreamMessage responseMsg = DreamMessage.Ok(GroupBL.GetGroupXmlVerbose(group, null)); response.Return(responseMsg); yield break; }
public ResultMarker (Result result) : base ( GetColor (result), IsOneLine (result)? (result.Region.BeginColumn) : 0, IsOneLine (result)? (result.Region.EndColumn) : 0) { this.result = result; }
public List<Result> containerReader(string xml) { var xmlDocument = new XmlDocument(); //xmlDocument.Load("SomeXML.xml"); xmlDocument.LoadXml(xml); var tmpList = new List<Result>(); XmlNodeList nodeList = xmlDocument.GetElementsByTagName("container"); foreach (XmlElement elm in nodeList) { var result = new Result(); XmlNodeList titleList = elm.GetElementsByTagName("dc:title"); result.id = elm.GetAttribute("id"); result.partenID = elm.GetAttribute("parentID"); result.ContainerRes = "Container"; result.type = titleList[0].InnerText; tmpList.Add(result); } return tmpList; }
private Result CreateResult(string[] args) { if (args.Length < 4) return null; DateTime date; int original, optimized; Result result = new Result(); if (!DateTime.TryParse(args[0], out date)) return null; result.Date = date; result.FileName = HttpUtility.UrlDecode(args[1]); if (!int.TryParse(args[2], out original)) return null; result.Original = original; if (!int.TryParse(args[3], out optimized)) return null; result.Optimized = optimized; return result; }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { Console.WriteLine(requestCode); Console.WriteLine(resultCode); }
//private void FireOnResult(int id, int SI, string name, string club, string Class, int start, int time, int status, List<ResultStruct> results) private void FireOnResult(Result newResult) { if (OnResult != null) { OnResult(newResult); } }
public void Store(Result result) { using (var sP = new StoredProcedure(DataBase.Default, "sp_InsertResult", SetUpResultParameters(result))) { sP.Execute(); } }
/// <summary> /// Evaluates this instance. /// </summary> /// <returns> </returns> public override Result Render() { IsValid = MatchRegularExpression(); return(Result = new Result(this)); }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); }
public ResponseBusquedaNaturalezaCarga() { ListaNaturalezaCarga = new List <NaturalezaCargaDTO>(); Result = new Result(); }
public IActionResult GetHistory(string walletName, string address) { if (string.IsNullOrWhiteSpace(walletName)) return ErrorHelpers.BuildErrorResponse(HttpStatusCode.BadRequest, "No wallet name", "No wallet name provided"); if (string.IsNullOrWhiteSpace(address)) return ErrorHelpers.BuildErrorResponse(HttpStatusCode.BadRequest, "No address", "No address provided"); try { var transactionItems = new List<ContractTransactionItem>(); HdAccount account = this.walletManager.GetAccounts(walletName).First(); // Get a list of all the transactions found in an account (or in a wallet if no account is specified), with the addresses associated with them. IEnumerable<AccountHistory> accountsHistory = this.walletManager.GetHistory(walletName, account.Name); // Wallet manager returns only 1 when an account name is specified. AccountHistory accountHistory = accountsHistory.First(); List<FlatHistory> items = accountHistory.History.OrderByDescending(o => o.Transaction.CreationTime).Where(x=>x.Address.Address == address).ToList(); // Represents a sublist of transactions associated with receive addresses + a sublist of already spent transactions associated with change addresses. // In effect, we filter out 'change' transactions that are not spent, as we don't want to show these in the history. List<FlatHistory> history = items.Where(t => !t.Address.IsChangeAddress() || (t.Address.IsChangeAddress() && !t.Transaction.IsSpendable())).ToList(); foreach (FlatHistory item in history) { TransactionData transaction = item.Transaction; // Record a receive transaction transactionItems.Add(new ContractTransactionItem { Amount = transaction.Amount.ToUnit(MoneyUnit.Satoshi), BlockHeight = transaction.BlockHeight, Hash = transaction.Id, Type = ReceivedTransactionType(transaction), To = address }); // Add outgoing transaction details if (transaction.SpendingDetails != null) { // Get if it's an SC transaction PaymentDetails scPayment = transaction.SpendingDetails.Payments?.FirstOrDefault(x => x.DestinationScriptPubKey.IsSmartContractExec()); if (scPayment != null) { if (scPayment.DestinationScriptPubKey.IsSmartContractCreate()) { // Create a record for a Create transaction Receipt receipt = this.receiptRepository.Retrieve(transaction.SpendingDetails.TransactionId); transactionItems.Add(new ContractTransactionItem { Amount = scPayment.Amount.ToUnit(MoneyUnit.Satoshi), BlockHeight = transaction.SpendingDetails.BlockHeight, Type = ContractTransactionItemType.ContractCreate, Hash = transaction.SpendingDetails.TransactionId, To = receipt?.NewContractAddress?.ToBase58Address(this.network) ?? "" }); } else { // Create a record for a Call transaction Result<ContractTxData> txData = this.callDataSerializer.Deserialize(scPayment.DestinationScriptPubKey.ToBytes()); transactionItems.Add(new ContractTransactionItem { Amount = scPayment.Amount.ToUnit(MoneyUnit.Satoshi), BlockHeight = transaction.SpendingDetails.BlockHeight, Type = ContractTransactionItemType.ContractCall, Hash = transaction.SpendingDetails.TransactionId, To = txData.Value.ContractAddress.ToBase58Address(this.network) }); } } else { // Create a record for every external payment sent if (transaction.SpendingDetails.Payments != null) { foreach (PaymentDetails payment in transaction.SpendingDetails.Payments) { transactionItems.Add(new ContractTransactionItem { Amount = payment.Amount.ToUnit(MoneyUnit.Satoshi), BlockHeight = transaction.SpendingDetails.BlockHeight, Type = ContractTransactionItemType.Send, Hash = transaction.SpendingDetails.TransactionId, To = payment.DestinationAddress }); } } } } } return this.Json(transactionItems.OrderByDescending(x => x.BlockHeight ?? Int32.MaxValue).ThenBy(x => x.Hash.ToString())); } catch (Exception e) { this.logger.LogError("Exception occurred: {0}", e.ToString()); return ErrorHelpers.BuildErrorResponse(HttpStatusCode.BadRequest, e.Message, e.ToString()); } }
public ActionResult Index() { StatisticsViewModel model = new StatisticsViewModel(); model.RegisteredUsersByState = new Dictionary <AustralianStateEnum, int>(); model.AveragePackagePriceByState = new Dictionary <AustralianStateEnum, decimal>(); try { // Get number of registered users by state Result <IEnumerable <ApplicationUser> > userResult = new Result <IEnumerable <ApplicationUser> >(); userResult = userService.GetAllUsers(); if (userResult.Status == ResultEnum.Success) { var usersByState = from user in userResult.Data group user by user.State into newUser select new { State = newUser.Key, Count = newUser.Count() }; model.RegisteredUsersByState = usersByState.ToDictionary(p => p.State, p => p.Count); } } catch { // Query failed } try { // Get average package price by state Result <IEnumerable <Package> > packageResult = new Result <IEnumerable <Package> >(); packageResult = packageService.GetAllPackages(false); if (packageResult.Status == ResultEnum.Success) { var averagePackagePriceByState = from package in packageResult.Data group package by package.State into newPackage select new { State = newPackage.Key, AveragePrice = newPackage.Average(p => p.Amount) }; model.AveragePackagePriceByState = averagePackagePriceByState.ToDictionary(p => p.State, p => p.AveragePrice); } } catch { // Query failed } try { // Get revenue by year Result <IEnumerable <Order> > orderResult = new Result <IEnumerable <Order> >(); orderResult = orderService.GetAllOrders(); if (orderResult.Status == ResultEnum.Success) { var revenueByYear = from order in orderResult.Data group order by order.DateBooked.Year into newOrder orderby newOrder.Key select new { Year = newOrder.Key, Revenue = newOrder.Sum(p => p.Amount) }; model.RevenueByYear = revenueByYear.ToDictionary(p => p.Year, p => p.Revenue); } } catch { return(View(model)); } return(View(model)); }
/// <summary> /// Runs the specified argument. /// </summary> /// <param name="arg">The argument.</param> /// <param name="context">The context.</param> /// <returns>An order with Federated payment info</returns> public async override Task <Order> Run(Order arg, CommercePipelineExecutionContext context) { Condition.Requires(arg).IsNotNull("The arg can not be null"); var order = arg; var components = order.Components.OfType <FederatedPaymentComponent>().ToList(); if (!components.Any()) { return(arg); } var braintreeClientPolicy = context.GetPolicy <BraintreeClientPolicy>(); if (string.IsNullOrEmpty(braintreeClientPolicy?.Environment) || string.IsNullOrEmpty(braintreeClientPolicy?.MerchantId) || string.IsNullOrEmpty(braintreeClientPolicy?.PublicKey) || string.IsNullOrEmpty(braintreeClientPolicy?.PrivateKey)) { context.CommerceContext.AddMessage( context.GetPolicy <KnownResultCodes>().Error, "InvalidClientPolicy", new object[] { "BraintreeClientPolicy" }, $"{this.Name}. Invalid BraintreeClientPolicy"); return(arg); } try { var gateway = new BraintreeGateway(braintreeClientPolicy?.Environment, braintreeClientPolicy?.MerchantId, braintreeClientPolicy?.PublicKey, braintreeClientPolicy?.PrivateKey); var existingPayment = order.GetComponent <FederatedPaymentComponent>(); if (existingPayment == null) { return(arg); } Result <Transaction> result = gateway.Transaction.Void(existingPayment.TransactionId); if (result.IsSuccess()) { context.Logger.LogInformation($"{this.Name} - Void Payment succeeded:{ existingPayment.Id }"); existingPayment.TransactionStatus = result.Target.Status.ToString(); await this.GenerateSalesActivity(order, existingPayment, context); } else { var errorMessages = result.Errors.DeepAll().Aggregate(string.Empty, (current, error) => current + ("Error: " + (int)error.Code + " - " + error.Message + "\n")); context.Abort(context.CommerceContext.AddMessage( context.GetPolicy <KnownResultCodes>().Error, "PaymentVoidFailed", new object[] { existingPayment.TransactionId }, $"{this.Name}. Payment void failed for transaction { existingPayment.TransactionId }: { errorMessages }"), context); return(arg); } } catch (BraintreeException ex) { context.CommerceContext.AddMessage( context.GetPolicy <KnownResultCodes>().Error, "PaymentVoidFailed", new object[] { order.Id }, $"{this.Name}. Payment refund failed: { ex.Message }"); return(arg); } return(arg); }