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

Sitecore pipeline implementation

 Sitecore pipeline implementation Sitecore pipelines are a key concept in Sitecore architecture, allowing developers to add custom logic and process data at specific points during a request. Here's a general guide for implementing Sitecore pipelines: 1.        Create a custom class that inherits from the Sitecore.Pipelines.PipelineProcessor class. 2.        Override the Process method to add your custom logic. 3.        Register the pipeline processor in the Sitecore configuration file (usually the Web.config or Sitecore.config file). 4.        Determine the appropriate point in the pipeline to insert your custom logic. Sitecore provides many predefined pipelines, such as the httpRequestBegin pipeline, that you can use to insert your custom logic. 5.        Add a new node to the pipeline in the configuration file, specifying the cla...

How to upload image in asp.net using file upload control

Here i am going to explain how to upload image on server. First add one file upload control on your page  and button give the suitable name of both file upload control and button control. Click on button control it will fire event on the name of button and it will redirect it to code behind file. It will also check the image content length and type of image Now see below code of code behind file. protected void Button1_Click( object sender, System. EventArgs e)     {         if (fu1.HasFile)         {             if (fu1.PostedFile.ContentLength <= 2097152)             {                 string fileexe = Path .GetExtension(fu1.FileName);        ...

Homework 2.2 MongoDB for .Net Development

Download JSON data from homework 2.2 MongoDB of .Net development and use it to restore in MongoDB Database. Dataset contains four scores which each has two hundred students. First confirm that you have restored data correctly. Use below command to check your restored data. Data count should be 800. use students db.grades.count() Now , Lets find student who holds 101st across among grades. See the below query to find. db.grades.find().sort( { 'score' : -1 } ).skip( 100 ).limit( 1 ) Correct result is given below by executing the above query. { "_id" : ObjectId("50906d7fa3c412bb040eb709"), "student_id" : 100, "type" : "homework", "score" : 88.50425479139126 } Use below query for sorting of  data, Here I have use limit of 5 show it will show five record. db.grades.find( { }, { 'student_id' : 1, 'type' : 1, 'score' : 1, '_id' : 0 } ).sort( { 'student_id' : 1, ...

Network hacking & scanning tools

NETWORK SCANNING Network scanning is very easy to understand and use but don’t do this in any other network. It’s illegal .so I can’t suggest it do . You may see below protocol and tools to be use for network scanning. Tools to be use to be use for scan and hack network : ·         HTTPort ·         Nmap :- port scan counter measure ·         Pinger ·         WS_Ping_Pro ·         HPING2 ·         KingPing ·         Icmpenum ·         SNMP Scanner ·         Detecting ping sweeps ICMP Queries ·         IPEye ·         IPSECScan ·      ...

Set up Sitecore XM cloud

Working on Sitecore development projects typically involves two key steps. The first is the installation or deployment of the Sitecore instance, followed by the implementation or solution development. For those familiar with Sitecore XP/XM, deploying a vanilla Sitecore instance using tools like SIF/SIA could be time-consuming, often taking several hours due to prerequisites such as setting up Solr, SQL, and more. However, the introduction of Sitecore Experience Manager Cloud (XM Cloud) has revolutionized this process. XM Cloud serves as a fully managed, self-service deployment platform tailored for developers, effectively addressing the challenges of lengthy deployment times. It enables the deployment of a fresh Sitecore instance with a fully functional website in just a few clicks. In this blog post, I'll demonstrate how to deploy a demo website on the Sitecore XM Cloud. Subsequently, in the next blog post, I'll illustrate how effortlessly you can configure your local app deve...