Exemple #1
0
        public void EmailNotifySubscriber(ReleaseForm release)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var qList      = uow.Repository <UserList>().Where(w => w.IsDeleted == false && w.IsEmailNotifyOfNewRelease);
                var qConnector = uow.Repository <Connector>().Where(w => w.IsDeleted == false && w.ConnectorType == R.ConnectorType.SERIES_USERLIST && w.SourceID == release.SeriesID);
                var qUser      = uow.Repository <User>().Where(w => w.Email.Contains("@"));

                var lists = qList.Join(qConnector, l => l.ID, c => c.TargetID, (l, c) => l);

                var users = qUser.Join(lists, u => u.ID, l => l.UserID, (u, l) => u).ToList();

                if (!users.Any())
                {
                    return;
                }

                var email = new MailMessage()
                {
                    Subject = string.Format("New Release - {0}", release.Title),
                    Body    = string.Format("http://www.fanslations.com/release/detail/{0}/{1}", release.Title.ToSeo(), release.ID)
                };
                // add subscriber to bcc
                foreach (var user in users)
                {
                    email.Bcc.Add(user.Email);
                }

                email.To.Add("*****@*****.**");
                EmailService.Instance.Send(email);
            }
        }
Exemple #2
0
        protected virtual bool BuildManifest()
        {
            BuildDir = Path.GetDirectoryName(Project.FullName) + "\\bin\\" + SolutionBuild.ActiveConfiguration.Name +
                       "\\";
            string cacheDir = Common.GetHostDir() + "\\_Projects\\" + Project.FullName.MD5() + "\\project.xml";

            CacheHelper = new CacheHelper <ProjectCache>();
            try
            {
                ProjectCache = CacheHelper.Get(cacheDir);
            }
            catch
            {
                ProjectCache = new ProjectCache();
            }

            if (_productToRelease == null)
            {
                _productToRelease = ProjectUtil.GetProductInfo(Project);
            }
            List <FileListItem> files = GatherFiles(BuildDir);
            ////string releaseFileName = Path.GetDirectoryName(prj.FullName) + "\\" + Common.ManifestFileName;

            string releaseFileName = Path.GetDirectoryName(Project.FullName) + "\\bin\\" + Common.ManifestFileName;

            if (File.Exists(releaseFileName))
            {
                Manifest = FileUtil.ReadManifest(releaseFileName);
            }
            if (Manifest == null)
            {
                string[] icons = Directory.GetFiles(BuildDir, "*.ico");
                Manifest = new Manifest
                {
                    AppName      = _productToRelease.Name,
                    Company      = _productToRelease.CompanyName,
                    EntryPoint   = Common.GetAssemblyName(Project) + ".exe",
                    ShortcutIcon = icons.Length > 0 ? Path.GetFileName(icons[0]) : ""
                };
            }
            Manifest.ReleaseVersion = _productToRelease.Version;
            Manifest.MinVersion     = _productToRelease.Version;

            var f = new ReleaseForm(BuildDir, files, Manifest);

            f.ZipOnly = ZipOnly;
            if (f.ShowDialog() == DialogResult.OK)
            {
                if (ProjectCache == null)
                {
                    ProjectCache = new ProjectCache();
                }
                ProjectCache.ExcludeFiles   = f.GetExcludedFiles().ToList();
                ProjectCache.ExcludeFolders = f.GetExcludedFolders().ToList();
                CacheHelper.Save(ProjectCache, cacheDir);
                return(true);
            }
            return(false);
        }
Exemple #3
0
 public int AddRelease(ReleaseForm releaseForm)
 {
     using (var uow = UnitOfWorkFactory.Create <NovelContext>())
     {
         var service = new ReleaseService(uow);
         return(service.SaveChanges(releaseForm));
     }
 }
Exemple #4
0
 public JsonResult Form(ReleaseForm form, HttpPostedFileBase image, string imagePath)
 {
     if (!string.IsNullOrWhiteSpace(form.Url))
     {
         form.UrlHash = form.Url.GetIntHash();
     }
     // use current datetime if release date is not specified
     if (form.ID == 0 && form.Date == DateTime.MinValue)
     {
         form.Date = DateTime.Now;
     }
     return(SaveChanges(form, Facade <SeriesFacade>().AddRelease));
 }
Exemple #5
0
        public int SaveChanges(ReleaseForm form)
        {
            var tRelease = Table <Release>();

            var release = tRelease.GetOrAdd(w => w.ID == form.ID || (form.ID == 0 && w.UrlHash == form.UrlHash));

            MapProperty(form, release, form.InlineEditProperty);
            UpdateAuditFields(release, form.ByUserID);

            // save
            SaveChanges();

            return(release.ID);
        }
Exemple #6
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());

            var reList = new Manifest {
                AppName = "Demo", ReleaseVersion = "1.0", Company = "CnSharp", EntryPoint = "demo.exe"
            };
            var dir = @"C:\Users\Jeremy Chin\Dev\Studio\OpenSource\SharpUpdater\2.1\tests\Demo_V1.0\bin\Debug\";

            _rootLength = dir.Length;

            var files = GatherFiles(dir);
            var f     =
                new ReleaseForm(
                    dir,
                    files,
                    reList
                    );

            Application.Run(f);
        }