Skip to main content

Featured post

XM Cloud content sync from prod to uat or UAT to prod step by step

When working with Sitecore, it’s common to need content synchronization across environments. Today, I’ll walk you through the steps to sync content from Production to UAT/TEST and vice versa. Steps to Follow 1. Set Up Your Workspace Create a folder on your computer where you will manage the script files and exported data. Open the folder path in PowerShell to begin scripting. We need to run some scripts in PowerShell to update the folder with the basic requirements for syncing content. PS C:\Soft\ContentSync> dotnet new tool-manifest PS C:\Soft\ContentSync> dotnet nuget add source -n Sitecore https://nuget.sitecore.com/resources/v3/index.json PS C:\Soft\ContentSync> dotnet tool install Sitecore.CLI PS C:\Soft\ContentSync> dotnet sitecore cloud login If the above error occurs, you will need to run a different command to resolve the issue. PS C:\Soft\ContentSync> dotnet sitecore init now, Again run above command to open and authenticate with XM Cloud. It will be there a...

Homework 3.1 MongoDB for .Net Development

MongoDB Homework 3.1 for the .Net Development is given below step by step.

Step1 :Download student.json from Download handout which is in homework url.

Use the below command to drop and import new data of student in MongoDB by using mongoimport command.

mongoimport --drop -d school -c students students.json

There should be two hundred record in the student collection. First check the data which is correctly imported or not.
see below command which help to find data in MongoDB collections

use school
db.students.count()

Correct output of count will be two hundred.

Now we need to find the student with highest average in the class . Use below query to get answer.

db.students.aggregate( [
  { '$unwind': '$scores' },
  {
    '$group':
    {
      '_id': '$_id',
      'average': { $avg: '$scores.score' }
    }
  },
  { '$sort': { 'average' : -1 } },
  { '$limit': 1 } ] )

You will get the out from the above query is : 13  .

So that the final answer of this homework is 13.

Now let's discuss to get same result through .net application.

I am going to write c# program code to complete the above process. see below code which help you to get knowledge to write code in C# in your project.

Make sure you have added mongo driver in your project otherwise it will not work.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;

namespace Playground
{
  class Program
  {
    static void Main(string[] args)
    {
      MainAsync(args).Wait();
      Console.ReadKey();
    }

    static async Task MainAsync(string[] args)
    {
      var client = new MongoClient();
      var db = client.GetDatabase("m101");
      var collection = db.GetCollection<Student>("hw31");

      await collection.Find(new BsonDocument())
        .ForEachAsync(async student =>
        {
          var lowestHomeworkGrade = student.Grades
            .Where(x => x.Type == GradeType.homework)
            .OrderBy(x => x.Score)
            .First();

         
          await collection.UpdateOneAsync(
            filter: x => x.Id == student.Id,
            update: Builders<Student>.Update.PullFilter(
              field: x => x.Grades,
              filter: score => score.Score == lowestHomeworkGrade.Score && score.Type == GradeType.homework));

        
        });

      var result = await collection.Aggregate()
        .Unwind(x => x.Grades)
        .Group(new BsonDocument
        {
          { "_id", "$_id" },
          { "average", new BsonDocument("$avg", "$scores.score") }
        })
        .Sort(new BsonDocument("average", -1))
        .FirstAsync();

      Console.WriteLine(result);
    }

    private class Student
    {
      public int Id { get; set; }

      [BsonElement("name")]
      public string Name { get; set; }

      [BsonElement("scores")]
      public List<Grade> Grades { get; set; }
    }

    private class Grade
    {
      [BsonElement("type")]
      [BsonRepresentation(BsonType.String)]
      public GradeType Type { get; set; }

      [BsonElement("score")]
      public double Score { get; set; }
    }

    public enum GradeType
    {
     
      homework,
      exam,
      quiz
    }
  }
}






Comments

Popular posts from this blog

AngularJS best practice with WebAPI and MVC

Angular-Js with MVC + Web API Pagination + Sorting with Angular JS You may also check :  Insert,delete,update,select using angularjs with mvc Here in this tutorial, we will try to show, How to create ASP.Net MVC project using Angular JS, Create Database in Sql Server and Create WebApi. I wil going to describe in proper way to Binding the Data in Angular Grid. Here, I am using Entity framework 5.0 . Step 1:- Create ASP.Net MVC Project with VS2013                    1. Open your VS IDE 2013            2. Go to file menu and select New              3. Click on create Project            4. Asp.Net Web Application                Select MVC template, Click on Add button, Give name as DemoApp.                Now you...

How Directives are compiled in angularjs?

AngularJS always operates on DOM node. We are not able to do any notice when HTML page loads. It parse automatically into DOM. Compilation of HTML happens in three steps which is pointed below. 1.    In angularjs $compile is use to traverse the DOM and looks for directive. It find each directive and add it into the list of directive. 2.    It is use to sort the list of directive by their priority when the entire DOM has been traversed. Each directive has own compilation function to be executed and each have chance to modify by itself. Each compile function return linking function and then it is use to composed into combined linking function and return it. 3.    $compile relations the template with the choice by calling the joint linking function from the earlier step. This in turn will request the connecting function of the separate directives, process listeners on the elements and set up $watch with the scope as each directive is organised to...

MongoDB Quiz 8, Week 2 for .NET BulkWrite

Answer of MongoDB Quiz 8 BulkWrite.

What is System hacking ?

  System hacking refers to the practice of gaining unauthorized access to a computer system or network in order to steal or manipulate data, disrupt operations, or cause other types of damage. System hacking can be carried out for a variety of reasons, including financial gain, revenge, or political or ideological motives. System hacking techniques can vary widely, but some common methods include: Password cracking: This involves using software tools or brute-force methods to guess or crack passwords in order to gain access to a system. Malware: This involves using malicious software such as viruses, worms, or Trojan horses to gain unauthorized access to a system or network, or to cause damage or steal data. Social engineering: This involves using psychological manipulation techniques to trick people into divulging sensitive information or performing actions that compromise system security. Network scanning: This involves using software tools to scan a network for vulnerabiliti...