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")); }
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")); }