using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
class Program
{
static void Main(string[] args)
{
var products = new List<Product>
{
new Product{Name = "iPhone 5S", Sequence = 1, Id = 100},
new Product{Name = "Galaxy S4", Sequence = 2, Id = 201},
new Product{Name = "Xbox One", Sequence = 3, Id = 209},
new Product{Name = "PS4", Sequence = 4, Id = 300}
};
Console.WriteLine("Original List");
DisplayProduct(products);
Console.WriteLine("\n\nEnter product id");
var productId = int.Parse(Console.ReadLine());
var product = products.FirstOrDefault(x => x.Id == productId);
if (product == null) Console.WriteLine("Invalid product!");
else
{
Console.WriteLine("Enter new sequence for "+product.Name);
var newSequence = int.Parse(Console.ReadLine());
product.Sequence = newSequence;
var count = 1;
foreach (var item in products)
{
if (count == newSequence) {
count++;
}
if (item.Id != product.Id)
{
item.Sequence = count++;
}
}
Console.WriteLine("\n\nModified product\n");
DisplayProduct(products);
}
}
private static void DisplayProduct(IEnumerable<Product> products)
{
products = products.OrderBy(x => x.Sequence);
foreach (var item in products)
{
Console.WriteLine("Sequence=" + item.Sequence + " Name=" + item.Name + " Id=" + item.Id);
}
}
}
public class Product
{
public int Sequence { get; set; }
public string Name { get; set; }
public int Id { get; set; }
}
}