示例#1
0
        public async Task <IHttpActionResult> PutSiteTemplate(int id, SiteTemplate siteTemplate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != siteTemplate.Id)
            {
                return(BadRequest());
            }

            this.DB.Entry(siteTemplate).State = EntityState.Modified;

            try
            {
                await this.DB.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SiteTemplateExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#2
0
        public void AddToCart(SiteTemplate siteTemplate)
        {
            // Get the matching cart and album instances
            var cartItem = unitOfWork.CartRepository.Get().ToList <CartRecord>().SingleOrDefault(
                c => c.CartId == OrderCartId &&
                c.SiteTemplate.Id == siteTemplate.Id);

            if (cartItem == null)
            {
                // Create a new cart item if no cart item exists
                cartItem = new CartRecord
                {
                    SiteTemplate = siteTemplate,
                    CartId       = OrderCartId,
                    Count        = 1,
                    DateCreated  = DateTime.Now
                };
                unitOfWork.CartRepository.Insert(cartItem);
            }
            else
            {
                // If the item does exist in the cart,
                // then add one to the quantity
                cartItem.Count++;
            }
            // Save changes
            unitOfWork.Save();
        }
示例#3
0
        public async Task <ActionResult> Create(SiteTemplateViewModel model)
        {
            var pnpFile = await _pnpFileService.Read(model.PnpFileGuid);

            if (pnpFile.PnpTemplate == null)
            {
                return(RedirectToAction("PickFile", new { SPHostUrl = Request.QueryString["SPHostUrl"] }));
            }


            pnpFile.PnpTemplate.ComposedLook.BackgroundFile = model.FileBgBlobLocation;
            pnpFile.PnpTemplate.ComposedLook.SiteLogo       = model.LogoBlobLocation;
            pnpFile.PnpTemplate.ComposedLook.ColorFile      = model.FileClrBlobLocation;
            pnpFile.PnpTemplate.ComposedLook.FontFile       = model.FontBlobLocation;

            var siteTemplate = new SiteTemplate
            {
                Id                = Guid.NewGuid(),
                Name              = model.SiteTemplateName,
                Description       = model.Description,
                PnpTemplate       = pnpFile.PnpTemplate,
                CreationTimeStamp = DateTime.Now
            };

            await _siteTemplateService.Insert(siteTemplate);

            return(RedirectToAction("Index", new { SPHostUrl = Request.QueryString["SPHostUrl"] }));
        }
示例#4
0
 protected void Page_Load(object sender, System.EventArgs e)
 {
     this.siteTemplate  = SiteTemplate.GetCacheSiteTemplateByID(base.OpID);
     this.strFolderPath = WebUtils.GetQueryString("folder");
     this.strFileName   = WebUtils.GetQueryString("file");
     this.strFolderPath = this.GetTempletPath(this.strFolderPath);
     if (!System.IO.Directory.Exists(this.strFolderPath))
     {
         MessageUtils.ShowAndRedirect(this, "模板文件不存在", "TemplateList.aspx?Module=" + base.CurrentModuleCode + "&action=View");
     }
     else
     {
         this.txtFolderPath.Text = this.strFolderPath;
         string templateFilePath = this.GetTemplateFilePath();
         if (!base.IsPostBack && base.Action == ActionType.Modify.ToString())
         {
             if (base.Action == ActionType.Modify.ToString() && !System.IO.File.Exists(templateFilePath))
             {
                 base.ShowMsgAndRdirect("模板文件不存在", "TemplateList.aspx?Module=" + base.CurrentModuleCode + "&action=View");
             }
             else
             {
                 this.FileContent.Text    = FileUtils.ReadFileContent(templateFilePath);
                 this.txtFileName.Text    = this.strFileName.Substring(0, this.strFileName.LastIndexOf("."));
                 this.txtFileName.Enabled = false;
                 ListItem listItem = this.ddlFileType.Items.FindByText(System.IO.Path.GetExtension(this.strFileName));
                 if (listItem != null)
                 {
                     listItem.Selected = true;
                 }
                 this.ddlFileType.Enabled = false;
             }
         }
     }
 }
示例#5
0
        public async Task SiteTemplateRepositoryReadTest()
        {
            var template = new SiteTemplate
            {
                Name        = "test",
                Description = "test"
            };


            await _target.Insert(template);

            var template2 = new SiteTemplate
            {
                Name        = "test2",
                Description = "test2"
            };


            await _target.Insert(template2);


            var templates = await _target.GetSiteTemplates();

            Assert.IsTrue(templates.Count() >= 2);

            await _target.Delete(template);

            await _target.Delete(template2);
        }
 public SiteCollectionManager(ActionRequest actionRequest, ClientContext ctx)
 {
     _actionRequest         = actionRequest;
     _siteCollectionRequest = actionRequest.SiteCollectionRequest;
     _ctx          = ctx;
     _siteTemplate = GetSiteTemplate();
 }
示例#7
0
        protected void btn_SetDefault_Click(object sender, System.EventArgs e)
        {
            LinkButton       linkButton = (LinkButton)sender;
            int              @int       = WebUtils.GetInt(linkButton.CommandArgument);
            SiteTemplateInfo dataById   = SiteTemplate.GetDataById(@int);

            if (dataById == null)
            {
                base.ShowAjaxMsg(this.UpdatePanel1, "没有找到模板,模板不存在或者已被删除");
            }
            else if (!System.IO.Directory.Exists(base.Server.MapPath(dataById.TemplatePath)))
            {
                base.ShowAjaxMsg(this.UpdatePanel1, "找不到模板文件夹,请确认是否存在!");
            }
            else if (SiteTemplate.SetDefaultTemplate(dataById.AutoID))
            {
                CacheUtils.Del("JsonLeeCMS_CacheForSiteTemplate");
                this.BindData();
                PageBase.log.AddEvent(base.LoginAccount.AccountName, "设置模板[" + dataById.TemplateName + "]为当前默认使用的模板");
                base.ShowAjaxMsg(this.UpdatePanel1, "设置默认模板成功");
            }
            else
            {
                base.ShowAjaxMsg(this.UpdatePanel1, "设置默认模板失败");
            }
        }
示例#8
0
 protected void lnk_Delete_Click(object sender, System.EventArgs e)
 {
     if (!base.IsAuthorizedOp(ActionType.Delete.ToString()))
     {
         base.ShowAjaxMsg(this.UpdatePanel1, "Không có thẩm quyền");
     }
     else
     {
         int @int = WebUtils.GetInt((sender as LinkButton).CommandArgument);
         SiteTemplateInfo dataById = SiteTemplate.GetDataById(@int);
         if (dataById == null)
         {
             base.ShowAjaxMsg(this.UpdatePanel1, "没有找到此模板信息,模板不存在或者已删除");
         }
         else if (PageBase.defaultTemplate.AutoID == dataById.AutoID)
         {
             base.ShowAjaxMsg(this.UpdatePanel1, "当前模板是默认模板,正在使用中,不可删除!");
         }
         else if (SiteTemplate.Delete(@int))
         {
             CacheUtils.Del("JsonLeeCMS_CacheForSiteTemplate");
             this.BindData();
             PageBase.log.AddEvent(base.LoginAccount.AccountName, "删除模板[" + dataById.TemplateName + "] thành công");
             base.ShowAjaxMsg(this.UpdatePanel1, "Thao tác thành công");
         }
         else
         {
             base.ShowAjaxMsg(this.UpdatePanel1, "Thao tác thất bại");
         }
     }
 }
        public async Task <ActionResult> RenderImage(int id)
        {
            SiteTemplate item = await unityOfWork.SiteTemplateRepository.context.ProductItems.FindAsync(id);

            byte[] photoBack = item.InternalImage;

            return(File(photoBack, "image/png"));
        }
示例#10
0
        public ActionResult DeleteConfirmed(int id)
        {
            SiteTemplate siteTemplate = unitOfWork.SiteTemplateRepository.GetByID(id);

            unitOfWork.SiteTemplateRepository.Delete(siteTemplate);
            unitOfWork.Save();
            return(RedirectToAction("Index"));
        }
示例#11
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            SiteTemplate item = await unityOfWork.SiteTemplateRepository.context.ProductItems.FindAsync(id);

            unityOfWork.SiteTemplateRepository.context.ProductItems.Remove(item);
            await unityOfWork.SiteTemplateRepository.context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#12
0
        private void BindData()
        {
            int    recordCount = 0;
            int    num         = 0;
            string strSort     = " IsDefault DESC, AutoID DESC ";

            this.Repeater1.DataSource = SiteTemplate.GetPagerList(this.GetCondition(), strSort, this.SinGooPager1.PageIndex, this.SinGooPager1.PageSize, ref recordCount, ref num);
            this.Repeater1.DataBind();
            this.SinGooPager1.RecordCount = recordCount;
        }
示例#13
0
 public ActionResult Edit(SiteTemplate siteTemplate)
 {
     if (ModelState.IsValid)
     {
         unitOfWork.SiteTemplateRepository.Update(siteTemplate);
         unitOfWork.Save();
         return(RedirectToAction("Index"));
     }
     return(View(siteTemplate));
 }
示例#14
0
        public async Task <ActionResult> Create(SiteTemplate item)
        {
            if (ModelState.IsValid)
            {
                item = unitOfWork.SiteTemplateRepository.context.ProductItems.Add(item);
                await unitOfWork.SiteTemplateRepository.context.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = item.Id }));
            }
            return(View(item));
        }
示例#15
0
        public ActionResult Create([Bind(Include = "id,name,shortDescription,description,price")] SiteTemplate siteTemplate)
        {
            if (ModelState.IsValid)
            {
                unitOfWork.SiteTemplateRepository.Insert(siteTemplate);
                unitOfWork.Save();
                return(RedirectToAction("Index"));
            }

            return(View(siteTemplate));
        }
        public async Task Insert(SiteTemplate template)
        {
            var client = await GetDocumentDbClient();

            var document = client.CreateDocumentQuery("dbs/" + DocumentDbId + "/colls/" + _collectionId).Where(d => d.Id == template.Id.ToString()).AsEnumerable().FirstOrDefault();

            if (document == null)
            {
                await client.CreateDocumentAsync("dbs/" + DocumentDbId + "/colls/" + _collectionId, template);
            }
        }
        public async Task Delete(SiteTemplate template)
        {
            var client = await GetDocumentDbClient();

            var templateToDelete = client.CreateDocumentQuery <Document>(DocumentCollection.DocumentsLink).Where(d => d.Id == template.Name).AsEnumerable().FirstOrDefault();

            if (templateToDelete != null)
            {
                await client.DeleteDocumentAsync(templateToDelete.SelfLink);
            }
        }
示例#18
0
        public async Task <ActionResult> Edit(SiteTemplate item)
        {
            if (ModelState.IsValid)
            {
                unitOfWork.SiteTemplateRepository.context.Entry(item).State = EntityState.Modified;
                await unitOfWork.SiteTemplateRepository.context.SaveChangesAsync();

                return(RedirectToAction("Details", new{ id = item.Id }));
            }
            return(View(item));
        }
示例#19
0
        public async Task <ActionResult> Edit(SiteTemplate item)
        {
            if (ModelState.IsValid)
            {
                unityOfWork.SiteTemplateRepository.context.Entry(item).State = EntityState.Modified;
                await unityOfWork.SiteTemplateRepository.context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            //ViewBag.CatagorieId = new SelectList(db.Catagories, "ID", "Name", item.CatagorieId);
            return(View(item));
        }
示例#20
0
 protected void Page_Load(object sender, System.EventArgs e)
 {
     this.siteTemplate = SiteTemplate.GetCacheSiteTemplateByID(base.OpID);
     if (this.siteTemplate == null)
     {
         MessageUtils.ShowAndRedirect(this, "没有找到模板信息", "TemplateList.aspx?Module=" + base.CurrentModuleCode + "&action=View");
     }
     else
     {
         this.BindData();
     }
 }
示例#21
0
 public SiteTemplateBindingModel Create(SiteTemplate siteTemplate)
 {
     return(new SiteTemplateBindingModel
     {
         Id = siteTemplate.Id,
         Title = siteTemplate.Title,
         Price = siteTemplate.Price,
         Category = siteTemplate.Category,
         Description = siteTemplate.Description,
         ShortDescription = siteTemplate.ShortDescription,
         ImageUrl = siteTemplate.ImageUrl
     });
 }
示例#22
0
        public void DeleteTestDataInDocumentDb()
        {
            //todo create testdata files
            var template = new SiteTemplate
            {
                Name        = "test",
                Description = "test"
            };


            _target.Insert(template).Wait();
            Assert.IsTrue(true);
        }
示例#23
0
        // GET: SalesManager/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SiteTemplate siteTemplate = unitOfWork.SiteTemplateRepository.GetByID(id);

            if (siteTemplate == null)
            {
                return(HttpNotFound());
            }
            return(View(siteTemplate));
        }
示例#24
0
        // GET: Items/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SiteTemplate item = await unityOfWork.SiteTemplateRepository.dbSet.FindAsync(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            return(View(item));
        }
示例#25
0
        public async Task <IHttpActionResult> DeleteSiteTemplate(int id)
        {
            SiteTemplate siteTemplate = await this.DB.SiteTemplates.FindAsync(id);

            if (siteTemplate == null)
            {
                return(NotFound());
            }

            siteTemplate.EntityStatus         = EntityStatus.Removed;
            this.DB.Entry(siteTemplate).State = EntityState.Modified;
            await this.DB.SaveChangesAsync();

            return(Ok(siteTemplate));
        }
示例#26
0
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SiteTemplate item = await unityOfWork.SiteTemplateRepository.context.ProductItems.FindAsync(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            // ViewBag.CatagorieId = new SelectList(db.Catagories, "ID", "Name", item.CatagorieId);
            return(View(item));
        }
示例#27
0
        public SiteRunner(string fileContent,
                          SiteTemplate st,
                          int serverPort,
                          List <Uri> scripts)
        {
            Scripts         = scripts;
            this.Site       = st;
            this.ServerPort = serverPort;

            File2Parse = new FileInfo(Config.CachePath);
            File.WriteAllText(File2Parse.FullName, fileContent);

            Th = new Thread(this.LauchSite);
            Th.Start();
        }
示例#28
0
        public async Task <ActionResult> Create(SiteTemplate item)
        {
            if (ModelState.IsValid)
            {
                unityOfWork.SiteTemplateRepository.context.ProductItems.Add(item);
                // db.Items.Add(item);
                await unityOfWork.SiteTemplateRepository.context.SaveChangesAsync();

                //await db.SaveChangesAsync();
                return(RedirectToAction("Index"));
            }

            // ViewBag.CatagorieId = new SelectList(db.Catagories, "ID", "Name", item.CatagorieId);
            return(View(item));
        }
示例#29
0
        private List <SiteTemplate> LoadSiteTemplatesFromAssembly(List <SiteTemplate> siteTemplates, Assembly assembly)
        {
            SiteTemplate siteTemplate;

            Type[] siteTemplateTypes = assembly.GetTypes().Where(item => item.GetInterfaces().Contains(typeof(ISiteTemplate))).ToArray();
            foreach (Type siteTemplateType in siteTemplateTypes)
            {
                var siteTemplateObject = ActivatorUtilities.CreateInstance(_serviceProvider, siteTemplateType);
                siteTemplate = new SiteTemplate
                {
                    Name     = (string)siteTemplateType.GetProperty("Name").GetValue(siteTemplateObject),
                    TypeName = siteTemplateType.AssemblyQualifiedName
                };
                siteTemplates.Add(siteTemplate);
            }
            return(siteTemplates);
        }
示例#30
0
        public async Task SiteTemplateRepositoryInsertTest()
        {
            var template = new SiteTemplate
            {
                Name        = "test",
                Description = "test"
            };

            await _target.Insert(template);

            var templates = await _target.GetSiteTemplates();

            var siteCreationTemplate = templates.Where(v => v.Name == template.Name);

            Assert.IsNotNull(siteCreationTemplate);

            await _target.Delete(template);
        }