示例#1
0
        protected override DriverResult Editor(IMAPSettingPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var previousPassword = part.Password;

            updater.TryUpdateModel(part, Prefix, null, null);

            // check whether the form is posted or not
            IsRenderedModel temp = new IsRenderedModel();

            updater.TryUpdateModel(temp, Prefix, null, null);
            if (!temp.IsRendered)
            {
                return(null);
            }

            if (!part.IsValid())
            {
                return(null);
            }

            part.Host = part.Host.Trim();
            var record = this.imapHostRecordService.Get(part.Host);

            if (record != null && part.EmailsFromMinutesBefore != 0)
            {
                var date = DateTime.UtcNow.AddMinutes(-part.EmailsFromMinutesBefore);
                record          = record ?? this.imapHostRecordService.Create(part.Host, 0, date);
                record.EmailUid = 0;
                record.FromDate = date;
                this.imapHostRecordService.Save(record);
            }
            else
            {
                var from = DateTime.UtcNow.AddMinutes(-part.EmailsFromMinutesBefore);
                record          = record ?? this.imapHostRecordService.Create(part.Host, 0, from);
                record.FromDate = from;
                this.imapHostRecordService.Save(record);
            }

            part.LastSuccessfullConnectionTime = null;
            part.LatestError     = string.Empty;
            part.LatestErrorTime = null;

            return(ContentShape("Parts_IMAPSettings_Edit", () =>
            {
                // restore password if the input is empty, meaning it has not been reseted
                if (string.IsNullOrEmpty(part.Password))
                {
                    part.Password = previousPassword;
                }
                return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: part, Prefix: Prefix);
            })
                   .OnGroup("IMAP email"));
        }
示例#2
0
        protected override DriverResult Editor(SVNSettingsPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var previousPassword = part.Password;

            updater.TryUpdateModel(part, Prefix, null, null);

            // check whether the form is posted or not
            IsRenderedModel temp = new IsRenderedModel();

            updater.TryUpdateModel(temp, Prefix, null, null);
            if (!temp.IsRendered)
            {
                return(null);
            }

            if (!part.IsValid())
            {
                return(null);
            }

            part.Server = part.Server.Trim();
            var record = this.svnServerRepository.Table.FirstOrDefault(c => c.Server == part.Server);

            if (record == null)
            {
                record = new SVNServerRecord {
                    Server = part.Server, LastRevision = part.LastRevision, FromDate = DateTime.UtcNow
                };
                this.svnServerRepository.Create(record);
            }
            else
            {
                record.LastRevision = part.LastRevision;
            }

            part.LastSuccessfullConnectionTime = null;
            part.LatestError     = string.Empty;
            part.LatestErrorTime = null;

            return(ContentShape("Parts_SVNSettings_Edit", () =>
            {
                // restore password if the input is empty, meaning it has not been reseted
                if (string.IsNullOrEmpty(part.Password))
                {
                    part.Password = previousPassword;
                }
                return shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: part, Prefix: Prefix);
            })
                   .OnGroup("SVN Client"));
        }