/// <summary>
 /// Convert SubscriptionType Entity  into SubscriptionType Object
 /// </summary>
 ///<param name="model">SubscriptionTypeViewModel</param>
 ///<param name="SubscriptionTypeEntity">DataAccess.SubscriptionType</param>
 ///<returns>SubscriptionTypeViewModel</returns>
 public static SubscriptionTypeViewModel ToViewModel(
     this DataAccess.SubscriptionType entity,
     SubscriptionTypeViewModel model)
 {
     model.SessionUserId       = entity.CreatedUserId;
     model.Id                  = entity.Id;
     model.Name                = entity.Name;
     model.AmountRand          = entity.SubscriptionTypeRules.Sum(a => a.AmountRand);
     model.ActiveMonths        = entity.SubscriptionTypeRules.Sum(a => a.ActiveMonths ?? 0);
     model.Discriminator       = entity.Discriminator;
     model.AmountRandFormatted = model.AmountRand.ToMonetaryValue();
     return(model);
 }
        /// <summary>
        /// Convert SubscriptionType Object into SubscriptionType Entity
        /// </summary>
        ///<param name="model">SubscriptionType</param>
        ///<param name="SubscriptionTypeEntity">DataAccess.SubscriptionType</param>
        ///<returns>DataAccess.SubscriptionType</returns>
        public static DataAccess.SubscriptionType ToEntity(this SubscriptionTypeViewModel model,
                                                           DataAccess.SubscriptionType entity
                                                           )
        {
            if (entity.Id == 0)
            {
                entity.CreatedUserId = model.SessionUserId;
                entity.Discriminator = model.Discriminator;
            }
            else
            {
                entity.UpdatedUserId    = model.SessionUserId;
                entity.UpdatedTimestamp = DateTime.Now;
            }

            entity.Name = model.Name;



            return(entity);
        }