public void CreateMsCategory(CreateCategoryInputDto input)
        {
            Logger.Info("CreateMsCategory() - Started.");
            Logger.DebugFormat("CreateMsCategory() - Start checking before insert Category. Parameters sent:{0}" +
                               "categoryCode = {1}{0}" +
                               "categoryName = {2}{0}"
                               , Environment.NewLine, input.categoryCode, input.categoryName);

            bool checkCategory = (from A in _msCategoryRepo.GetAll()
                                  where A.categoryCode == input.categoryCode ||
                                  A.categoryName == input.categoryName
                                  select A).Any();

            Logger.DebugFormat("CreateMsCategory() - Ended checking before insert Category. Result = {0}", checkCategory);

            if (!checkCategory)
            {
                var createMsCategory = new MS_Category
                {
                    categoryName  = input.categoryName,
                    categoryCode  = input.categoryCode,
                    projectField  = "-", //hardcode for not null field
                    areaField     = "-", //hardcode for not null field
                    categoryField = "-", //hardcode for not null field
                    clusterField  = "-", //hardcode for not null field
                    productField  = "-", //hardcode for not null field
                    detailField   = "-", //hardcode for not null field
                    zoningField   = "-", //hardcode for not null field
                    facingField   = "-", //hardcode for not null field
                    roadField     = "-", //hardcode for not null field
                    kavNoField    = "-"
                };


                try
                {
                    Logger.DebugFormat("CreateMsCategory() - Start insert Category. Parameters sent:{0}" +
                                       "categoryName = {1}{0}" +
                                       "categoryCode = {2}{0}" +
                                       "projectField = {3}{0}" +
                                       "areaField = {4}{0}" +
                                       "categoryField = {5}{0}" +
                                       "clusterField = {6}{0}" +
                                       "productField = {7}{0}" +
                                       "detailField = {8}{0}" +
                                       "zoningField = {9}{0}" +
                                       "facingField = {10}{0}" +
                                       "roadField = {11}{0}" +
                                       "kavNoField = {12}{0}"
                                       , Environment.NewLine, input.categoryName, input.categoryCode, "-", "-", "-", "-", "-"
                                       , "-", "-", "-", "-", "-");

                    _msCategoryRepo.Insert(createMsCategory);
                    CurrentUnitOfWork.SaveChanges();

                    Logger.DebugFormat("CreateMsCategory() - Ended insert Category.");
                }

                /*catch (DbEntityValidationException ex)
                 * {
                 *  var errorMessages = ex.EntityValidationErrors
                 *      .SelectMany(x => x.ValidationErrors)
                 *      .Select(x => x.ErrorMessage);
                 *  string fullErrorMessage = string.Join("; ", errorMessages);
                 *  string exceptionMessage = string.Concat("Validation Error: ", fullErrorMessage);
                 *  Logger.ErrorFormat("CreateMsCategory() - ERROR DbEntityValidationException. Result = {0}", exceptionMessage);
                 *  throw new UserFriendlyException(exceptionMessage);
                 * }*/
                catch (DataException ex)
                {
                    Logger.ErrorFormat("CreateMsCategory() - ERROR DataException. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Db Error: " + ex.Message);
                }
                catch (Exception ex)
                {
                    Logger.ErrorFormat("CreateMsCategory() - ERROR Exception. Result = {0}", ex.Message);
                    throw new UserFriendlyException("Error: " + ex.Message);
                }
            }
            else
            {
                Logger.ErrorFormat("CreateMsCategory() - ERROR Exception.", "Category Code or Category Name Already Exist !");
                throw new UserFriendlyException("Category Code or Category Name Already Exist !");
            }
            Logger.Info("CreateMsCategory() - Finished.");
        }
Exemplo n.º 2
0
 public async Task <int> CreateCategory(CreateCategoryInputDto input)
 {
     return(await _pillarAndCategoryManager.CreateCategory(input.Name, input.PillarId));
 }