Copy an object [Serialize/De-Serialize]

 Scenario:

Copy an object to another one.

Solution:

Serialze to bytes to copy all properties and then De-Serialize to new object.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
        private static MyNewObject CopyObject(MyObject myObject)
        {
            var data = _serializer.Deserialize<MyNewObject>(_serializer.ToBytes(myObject));
    
            if (data == null) return null;
    
            data.item.ToList().ForEach(li => li.state = "New State");
    
            return data;
        }

SQL Server find number of occurrences for a string

 Scenario:

List Employees with their the roles.
My User
Employee IDRoleID
11
22
31

Query:


DECLARE @searchString VARCHAR(1000)

SET @searchString = 'string' --Say 1

SELECT ( LEN(CAST([Data] AS VARCHAR(MAX))) - LEN(REPLACE(CAST([Data] AS VARCHAR(MAX)), @searchString, '')) ) / LEN(@searchString) [TotalCount],
       *
FROM   MyTable
ORDER  BY [TotalCount] DESC 

Output:


TotalCount
RoleID
21
12

Handler

 

Scenario:

Create handlers to handle user creation based on type

Solution:


  • IUserHandler
    1. public interface IUserHandler
          {
              void CreateUser(User user);
          }
  • UserHandlers
    1. public class InternalUserHandler : IUserHandler
          {
              public void CreateUser(User user)
              {
                  // Create Internal user
              }
          }
      
          public class ExternalUserHandler : IUserHandler
          {
              public void CreateUser(User user)
              {
                  // Create External user
              }
          }
      
          public class UserHandler
          {
              public UserHandler()
              {
              }
      
              public static void CreateUser(User user)
              {
                  .Get<IUserHandler>().InternalCreateUser(user);
              }
      
              private void InternalCreateUser(User user)
              {
                  try
                  {
                      var handler = .Get<IUserHandler>(user.Type.ToString());
                      handler.CreateUser(elasticIndexerEntity);
                  }
                  catch (Exception e)
                  {
                      throw;
                  }
              }
          }
  • Call
    1. static void Main(string[] args)
          {
              var user = new User<Task>();
              UserHandler.CreateUser(user);
          }
      
          //Ninject
          Bind<IUserHandler>().To<InternalUserHandler>().InSingletonScope().Named(User.Type.ToString());

Move Github Sub Repository back to main repo

 -- delete .gitmodules git rm --cached MyProject/Core git commit -m 'Remove myproject_core submodule' rm -rf MyProject/Core git remo...