internal static int Add(IEntity entity)
{
Category categoryEntity = (Category)(entity);
using (SqlConnection sqlConnection = new SqlConnection(CMSCoreBase.CMSCoreConnectionString))
{
SqlCommand sqlCommand = new SqlCommand(SN_CATEGORY_ADD, sqlConnection);
sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter sqlParameter = null;
double days = 0;
double seconds = 0;
CMSCoreHelper.GetDaySecondsNumber(categoryEntity.CreationDate, out days, out seconds);
sqlParameter = new SqlParameter(PN_CATEGORY_CREATION_DAY, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = (int)days;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_CREATION_SEC, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = (int)seconds;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_DESCRIPTION, System.Data.SqlDbType.NVarChar);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.Description;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_ID, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Output;
sqlParameter.Value = 0;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_IS_DELETED, System.Data.SqlDbType.Bit);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.IsDeleted;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_LANGUAGE_ID, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.LanguageID;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_MODULE_ID, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.ModuleID;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_NAME, System.Data.SqlDbType.NVarChar);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.Name;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_PORTAL_ID, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.PortalID;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_PARENT_ID, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.ParentID;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_ORDER, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.Order;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_CREATED_BY, System.Data.SqlDbType.Int);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.CreatedBy;
sqlCommand.Parameters.Add(sqlParameter);
sqlParameter = new SqlParameter(PN_CATEGORY_IMAGE, System.Data.SqlDbType.NVarChar);
sqlParameter.Direction = System.Data.ParameterDirection.Input;
sqlParameter.Value = categoryEntity.Image;
sqlCommand.Parameters.Add(sqlParameter);
try
{
sqlCommand.Connection.Open();
sqlCommand.ExecuteNonQuery();
sqlCommand.Connection.Close();
categoryEntity.ID = Convert.ToInt32(sqlCommand.Parameters[PN_CATEGORY_ID].Value);
}
catch (Exception ex)
{
throw ex;
}
}
return categoryEntity.ID;
}