Esempio n. 1
0
        public Data CreateSite(string siteName)
        {
            if (User.Identity.IsAuthenticated)
            {
                string root = Server.MapPath(".") + "/Sites/";

                var entities = new WebPageEntities();

                var user = entities.AspNetUsers.Where(i => i.UserName == User.Identity.Name).FirstOrDefault();
                var site = entities.Sites.Where(i => i.SiteName == siteName && i.UserId == user.Id).FirstOrDefault();

                if (site != null)
                {
                    return(new Data {
                        Error = "Site Name already exists.<br>Choose another Name."
                    });
                }

                if (user != null)
                {
                    var userFolder = Path.Combine(root, user.Id);

                    if (Directory.Exists(userFolder))
                    {
                        var siteFolder = Path.Combine(userFolder, siteName);

                        if (!Directory.Exists(siteFolder))
                        {
                            try
                            {
                                Directory.CreateDirectory(siteFolder);

                                var siteToCreate = new WAG_Login_Page.Site();

                                siteToCreate.UserId   = user.Id;
                                siteToCreate.SiteName = siteName;

                                entities.Sites.Add(siteToCreate);

                                entities.SaveChanges();

                                return(new Data {
                                    Success = true
                                });
                            }
                            catch (Exception ex)
                            {
                                return(new Data {
                                    Success = false, Error = "", ExceptionError = ex.Message
                                });
                            }
                        }
                    }
                }
            }

            return(new Data {
                Success = false
            });
        }
Esempio n. 2
0
        public Data CreatePage(string siteName, string pageName)
        {
            if (User.Identity.IsAuthenticated)
            {
                string root = Server.MapPath(".") + "/Sites/";

                var entities = new WebPageEntities();

                var user  = entities.AspNetUsers.Where(i => i.UserName == User.Identity.Name).FirstOrDefault();
                var site  = entities.Sites.Where(i => i.SiteName == siteName && i.UserId == user.Id).FirstOrDefault();
                var pageE = entities.Pages.Where(i => i.SiteId == site.Id && i.PageName == pageName);

                if (site == null)
                {
                    return(new Data {
                        Error = "Please create [Site] first."
                    });
                }

                if (pageE.Count() > 0)
                {
                    return(new Data {
                        Error = "Page Name already exists.<br>Choose another Name."
                    });
                }

                if (user != null)
                {
                    var userFolder = Path.Combine(root, user.Id);

                    if (Directory.Exists(userFolder))
                    {
                        var siteFolder = Path.Combine(userFolder, siteName);

                        if (Directory.Exists(siteFolder))
                        {
                            try
                            {
                                pageName += ".html";
                                var page = Path.Combine(siteFolder, pageName);

                                if (!File.Exists(page))
                                {
                                    FileStream str = File.Create(page);

                                    var pageToCreate = new WAG_Login_Page.Page();

                                    pageToCreate.SiteId      = site.Id;
                                    pageToCreate.PageName    = pageName;
                                    pageToCreate.IsFirstTime = "true";

                                    entities.Pages.Add(pageToCreate);

                                    entities.SaveChanges();

                                    str.Close();
                                    str.Dispose();

                                    return(new Data {
                                        Success = true
                                    });
                                }
                            }
                            catch (Exception ex)
                            {
                                return(new Data {
                                    Success = false, Error = "", ExceptionError = ex.Message
                                });
                            }
                        }
                    }
                }
            }

            return(new Data {
                Success = false
            });
        }
Esempio n. 3
0
        public string UploadImages()
        {
            string resultError = "";


            if (User.Identity.IsAuthenticated)
            {
                if (HttpContext.Current.Request.Files.AllKeys.Any())
                {
                    try
                    {
                        var entities = new WebPageEntities();

                        var user = entities.AspNetUsers.Where(i => i.UserName == User.Identity.Name).FirstOrDefault();

                        Image image = new Image();

                        var postedFiles = HttpContext.Current.Request.Files;
                        for (int f = 0; f < HttpContext.Current.Request.Files.Count; f++)
                        {
                            string fileName = "";
                            try
                            {
                                string ext = System.IO.Path.GetExtension(postedFiles[f].FileName).ToLower();

                                fileName = Path.GetFileName(postedFiles[f].FileName);

                                int maxFileSize = 5000;

                                int fileSize = postedFiles[f].ContentLength;
                                if (fileSize > (maxFileSize * 1024))
                                {
                                    if (ext != ".jpg" && ext != ".png" && ext != ".gif" && ext != ".jpeg")
                                    {
                                        resultError += fileName + " is Not a valid image.<br>";
                                    }
                                    else
                                    {
                                        resultError += fileName + " image file size is greater than 5Mb.<br>";
                                    }

                                    continue;
                                }

                                if (ext != ".jpg" && ext != ".png" && ext != ".gif" && ext != ".jpeg")
                                {
                                    resultError += fileName + " is Not a valid image.<br>";

                                    continue;
                                }

                                fileName = GetRandomString(8) + fileName;

                                int i = 0;

                                while (File.Exists(GetUserImagesPath() + fileName))
                                {
                                    i++;

                                    fileName = GetRandomString(5) + GetRandomString(5) + fileName;
                                    if (i == 4)
                                    {
                                        break;
                                    }
                                }

                                string savePath = GetUserImagesPath() + fileName;

                                postedFiles[f].SaveAs(savePath);

                                image          = new Image();
                                image.UserId   = user.Id;
                                image.FileName = fileName;
                                image.Path     = "iimages";

                                entities.Images.Add(image);
                            }
                            catch (Exception ex)
                            {
                                resultError += fileName + " upload failed : server error.<br>";
                            }
                        }


                        entities.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        resultError = "Server error!.<br>Try again later.";
                    }
                }
            }

            return(resultError);
        }