public async Task <RepositoryResponse <BECategoryViewModel> > Post([FromBody] BECategoryViewModel model)
        {
            if (model != null)
            {
                var result = await model.SaveModelAsync(true).ConfigureAwait(false);

                return(result);
            }
            return(new RepositoryResponse <BECategoryViewModel>());
        }
示例#2
0
        public async Task <RepositoryResponse <BECategoryViewModel> > Post([FromBody] BECategoryViewModel model)
        {
            if (model != null)
            {
                var result = await model.SaveModelAsync(true).ConfigureAwait(false);

                if (result.IsSucceed)
                {
                    result.Data.Domain = this._domain;
                }
                return(result);
            }
            return(new RepositoryResponse <BECategoryViewModel>());
        }
示例#3
0
        public async Task <IActionResult> Create(BECategoryViewModel menu)
        {
            if (ModelState.IsValid)
            {
                var result = await menu.SaveModelAsync(true).ConfigureAwait(false);

                if (result.IsSucceed)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(menu));
                }
            }
            return(View(menu));
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, BECategoryViewModel ttsMenu)
        {
            if (id != ttsMenu.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var result = await ttsMenu.SaveModelAsync(true).ConfigureAwait(false);

                    if (result.IsSucceed)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, result.Exception.Message);
                        return(View(ttsMenu));
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BECategoryViewModel.Repository.CheckIsExists(
                            m => m.Id == ttsMenu.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                //return RedirectToAction("Index");
            }
            ViewData["Action"]     = "Edit";
            ViewData["Controller"] = "Pages";
            return(View(ttsMenu));
        }
        public async Task <RepositoryResponse <bool> > InitSWCms(InitCulture culture)
        {
            RepositoryResponse <bool> result         = new RepositoryResponse <bool>();
            SiocCmsContext            context        = null;
            SiocCmsAccountContext     accountContext = null;
            IDbContextTransaction     transaction    = null;
            IDbContextTransaction     accTransaction = null;
            bool isSucceed = true;

            try
            {
                if (!string.IsNullOrEmpty(CmsConfigurations.CmsConnectionString))
                {
                    context        = new SiocCmsContext();
                    accountContext = new SiocCmsAccountContext();
                    await context.Database.MigrateAsync();

                    await accountContext.Database.MigrateAsync();

                    transaction = context.Database.BeginTransaction();

                    var countCulture = context.SiocCulture.Count();

                    var isInit = countCulture > 0;

                    if (!isInit)
                    {
                        isSucceed = InitCultures(culture, context, transaction);

                        isSucceed = isSucceed && InitPositions(context, transaction);

                        isSucceed = isSucceed && InitThemes(context, transaction);

                        isSucceed = isSucceed && InitConfigurations(culture, context, transaction);
                    }
                    else
                    {
                        isSucceed = true;
                    }

                    if (isSucceed && BECategoryViewModel.Repository.Count(context, transaction).Data == 0)
                    {
                        BECategoryViewModel cate = new BECategoryViewModel(new SiocCategory()
                        {
                            Title          = "Home",
                            Specificulture = culture.Specificulture,
                            Template       = "_Home",
                            Type           = (int)SWCmsConstants.CateType.Home,
                            CreatedBy      = "Admin"
                        }, context, transaction);

                        var createVNHome = await cate.SaveModelAsync(false, context, transaction).ConfigureAwait(false);

                        isSucceed = createVNHome.IsSucceed;

                        //BECategoryViewModel uscate = new BECategoryViewModel(new SiocCategory()
                        //{
                        //    Id = cate.Model.Id,
                        //    Title = "Home",
                        //    Specificulture = "en-us",
                        //    Template = "_Home",
                        //    Type = (int)SWCmsConstants.CateType.Home,
                        //    CreatedBy = "Admin",
                        //    CreatedDateTime = DateTime.UtcNow,
                        //}, context, transaction);

                        //var createUSHome = await uscate.SaveModelAsync(false, context, transaction).ConfigureAwait(false);
                        //isSucceed = createUSHome.IsSucceed;
                    }

                    if (isSucceed)
                    {
                        transaction.Commit();
                    }
                    else
                    {
                        transaction.Rollback();
                    }
                }
                result.IsSucceed = isSucceed;
                return(result);
            }
            catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only
            {
                transaction?.Rollback();
                accTransaction?.Rollback();
                result.IsSucceed = false;
                result.Exception = ex;
                return(result);
            }
            finally
            {
                context?.Dispose();
                accountContext?.Dispose();
            }
        }