public Return GenerateValidationReturn() { var returnObj = BaseMapper.GenerateReturn(); if (_validationErrors.Count == 0) { return(returnObj); } var validationMessages = ""; foreach (var validationError in _validationErrors) { validationMessages += validationError.Message + "<br />"; } returnObj.Error = ErrorHelper.CreateError(new System.Exception("Validation Error", new System.Exception(validationMessages))); return(returnObj); }
public void ReorderChildren() { var index = 0; var childMedias = ChildMedias.Where(i => i.MediaDetails.Any() && i.MediaDetails.ElementAt(0).MediaType.ShowInSiteTree).OrderBy(i => i.OrderIndex).ToList(); foreach (var mediaItem in childMedias) { var context = BaseMapper.GetObjectFromContext(mediaItem); if (context == null) { continue; } if (context.OrderIndex != index) { context.OrderIndex = index; MediasMapper.Update(context); } index++; } }
public static void RemoveChildMediaTypes(MediaType obj) { var mediaTypes = GetDataModel().MediaTypes; foreach (var type in mediaTypes) { var removeMediaTypes = type.MediaTypes.Where(i => i.ID == obj.ID).ToList(); foreach (var removeMediaType in removeMediaTypes) { type.MediaTypes.Remove(removeMediaType); } } var fields = obj.Fields.ToList(); foreach (var field in fields) { BaseMapper.DeleteObjectFromContext(field); } obj.MediaTypes.Clear(); }
private static void UpdateProperty <T>(PropertyInfo toProperty, object value, T toObject, T fromObject) { if (toProperty.GetSetMethod() == null) { return; } if (value != null) { if (toProperty.Name == "EntityKey") { return; } if (toProperty.Name == "ID") { return; } if (value.GetType().BaseType == typeof(EntityReference)) { return; } if (value.GetType().Name.Contains("EntityCollection")) { return; } if (value.GetType().BaseType == typeof(EntityObject)) { value = BaseMapper.GetObjectFromContext((IMustContainID)value); } } toProperty.SetValue(toObject, value, null); }
/*public static IEnumerable<Field> GetAll() * { * return GetDataModel().Fields.OrderByDescending(b => b.DateCreated); * }*/ public static Field GetByID(long id) { //var allItems = GetAll(); return(BaseMapper.GetDataModel().Fields.FirstOrDefault(item => item.ID == id)); }
public string MakeWebRequest(string urlString, ICredentials credentialCache = null, RequestMethod method = RequestMethod.GET, string queryString = "") { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; var storageItem = WebserviceRequestsMapper.GetByUrl(urlString); var data = ""; if ((storageItem != null) && (EnableCaching) && !storageItem.Response.Contains("unavailable") && storageItem.DateLastModified.AddSeconds(CacheDurationInSeconds) > DateTime.Now) { return(storageItem.Response); } WebserviceRequest request = null; if (storageItem == null) { request = new WebserviceRequest(); } else { request = storageItem; } request.Url = urlString; request.QueryString = queryString; request.Response = ""; request.Method = method.ToString(); request.UrlReferrer = ""; if (System.Web.HttpContext.Current.Request.UrlReferrer != null) { request.UrlReferrer = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri; } WebRequest webRequest = WebRequest.Create(urlString); if (credentialCache != null) { webRequest.Credentials = credentialCache; webRequest.PreAuthenticate = true; } webRequest.Method = method.ToString(); try { if (method == RequestMethod.POST) { var encoding = new ASCIIEncoding(); byte[] bytes = encoding.GetBytes(queryString); webRequest.ContentLength = bytes.Length; webRequest.ContentType = "application/x-www-form-urlencoded"; using (var webRequestStream = webRequest.GetRequestStream()) { webRequestStream.Write(bytes, 0, bytes.Length); webRequestStream.Flush(); webRequestStream.Close(); } } using (WebResponse webResponse = webRequest.GetResponse()) { Stream dataStream = webResponse.GetResponseStream(); using (StreamReader streamReader = new StreamReader(dataStream)) { data = streamReader.ReadToEnd(); } } } catch (WebException ex) { ErrorHelper.LogException(ex); data = ex.Message; if (ex.Response != null) { // can use ex.Response.Status, .StatusDescription if (ex.Response.ContentLength != 0) { using (var stream = ex.Response.GetResponseStream()) { using (var reader = new StreamReader(stream)) { data = reader.ReadToEnd(); } } } } } if (request != null) { request.Response = data; var ommit = false; foreach (var item in OmmitList) { if (request.Url.ToLower().Contains(item)) { ommit = true; break; } } if (EnableCaching) { if (request.ID == 0) { WebserviceRequestsMapper.Insert(request); } else { request = BaseMapper.GetObjectFromContext(request); WebserviceRequestsMapper.Update(request); } } } return(data); }
public Return PublishLive() { var returnObj = new Return(); var liveVersion = BaseMapper.GetObjectFromContext((MediaDetail)this.Media.GetLiveMediaDetail()); var selectedItem = BaseMapper.GetObjectFromContext((MediaDetail)this); selectedItem.HistoryVersionNumber = 0; selectedItem.HistoryForMediaDetail = null; selectedItem.IsDraft = false; selectedItem.PublishDate = DateTime.Now; //selectedItem.ShowInMenu = true; IEnumerable <MediaDetail> items = new List <MediaDetail>(); if (liveVersion != null) { items = liveVersion.History.ToList(); foreach (var item in items) { if (item.ID != selectedItem.ID) { var tmpItem = BaseMapper.GetObjectFromContext(item); item.HistoryForMediaDetailID = selectedItem.ID; } } } foreach (var fieldAssociation in selectedItem.FieldAssociations) { var index = 1; foreach (var history in fieldAssociation.MediaDetail.History) { history.HistoryForMediaDetail = fieldAssociation.MediaDetail; history.HistoryVersionNumber = 1; index++; } fieldAssociation.MediaDetail.HistoryForMediaDetail = null; fieldAssociation.MediaDetail.HistoryVersionNumber = 0; } foreach (var field in selectedItem.Fields) { foreach (var fieldAssociation in field.FieldAssociations) { var index = 1; foreach (var mediaDetail in fieldAssociation.MediaDetail.Media.MediaDetails) { mediaDetail.HistoryForMediaDetail = fieldAssociation.MediaDetail; mediaDetail.HistoryVersionNumber = 1; index++; } fieldAssociation.MediaDetail.HistoryForMediaDetail = null; fieldAssociation.MediaDetail.HistoryVersionNumber = 0; } if (liveVersion != null) { field.FrontEndSubmissions = liveVersion.LoadField(field.FieldCode)?.FrontEndSubmissions; } } foreach (var mediaTypeField in selectedItem.MediaType.Fields) { if (!selectedItem.Fields.Any(i => i.FieldCode == mediaTypeField.FieldCode)) { var mediaDetailField = new MediaDetailField(); mediaDetailField.CopyFrom(mediaTypeField); mediaDetailField.UseMediaTypeFieldFrontEndLayout = true; mediaDetailField.UseMediaTypeFieldDescription = true; mediaDetailField.MediaTypeField = mediaTypeField; mediaDetailField.DateCreated = mediaDetailField.DateLastModified = DateTime.Now; mediaDetailField.OrderIndex = selectedItem.Fields.Count; selectedItem.Fields.Add(mediaDetailField); } } if (liveVersion != null) { if (items.Any()) { liveVersion.HistoryVersionNumber = items.OrderByDescending(i => i.HistoryVersionNumber).FirstOrDefault().HistoryVersionNumber + 1; } else { liveVersion.HistoryVersionNumber = 1; } liveVersion.HistoryForMediaDetail = (MediaDetail)selectedItem; var associations = BaseMapper.GetDataModel().FieldAssociations.Where(i => i.AssociatedMediaDetailID == liveVersion.ID); foreach (var association in associations) { association.MediaDetail = (MediaDetail)selectedItem; } } returnObj = MediaDetailsMapper.Update(selectedItem); if (!returnObj.IsError) { if (liveVersion != null) { liveVersion.HistoryForMediaDetailID = selectedItem.ID; returnObj = MediaDetailsMapper.Update(liveVersion); } if (!returnObj.IsError) { ContextHelper.Clear(ContextType.Cache); FileCacheHelper.ClearAllCache(); return(returnObj); } else { return(returnObj); } } else { return(returnObj); } }
public static Return Send(string fromEmailAddress, IEnumerable <MailAddress> emailAddresses, string subject, string body, EmailMode emailMode = EmailMode.Both, bool bcc = true) { Return returnObj = new Return(); var emailLog = new EmailLog(); if (emailMode == EmailMode.Both || emailMode == EmailMode.Smtp) { try { MailMessage message = new MailMessage(); foreach (MailAddress address in emailAddresses) { if (bcc) { message.Bcc.Add(address); } else { message.To.Add(address); } } message.Sender = new MailAddress(fromEmailAddress); message.IsBodyHtml = true; message.Subject = subject; message.Body = body; emailLog = GetEmailLogFromMailMessage(message); System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); client.Send(message); emailLog.ServerMessage = "Successfully sent email"; EmailsMapper.Insert(emailLog); return(returnObj); } catch (Exception ex) { ErrorHelper.LogException(ex); returnObj.Error = ErrorHelper.CreateError(ex); emailLog.ServerMessage = returnObj.Error.Message; EmailsMapper.Insert(emailLog); if (emailMode == EmailMode.Both) { var directSentReturn = SendDirectMessage(fromEmailAddress, emailAddresses, subject, body, bcc); if (directSentReturn.IsError) { return(directSentReturn); } else { returnObj = BaseMapper.GenerateReturn(); } } return(returnObj); } } else { return(SendDirectMessage(fromEmailAddress, emailAddresses, subject, body)); } }
public Return Validate() { var returnOnj = BaseMapper.GenerateReturn(); return(returnOnj); }
public static Return BackupDatabase() { Return returnObj = BaseMapper.GenerateReturn(); var databaseName = BaseMapper.GetDataModel().Database.Connection.Database; var sqlCommand = $@"BACKUP DATABASE {databaseName} TO DISK = '{DbBackupPath}{DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss-tt")}-{databaseName}.bak'"; try { var result = BaseMapper.GetDataModel(true).Database.ExecuteSqlCommand(transactionalBehavior: System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, sql: sqlCommand); returnObj.SetRawData(result); return(returnObj); } catch (Exception ex) { ErrorHelper.LogException(ex); returnObj.Error = ErrorHelper.CreateError(ex); return(returnObj); } /*SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString); * string dbName = builder.InitialCatalog; * string backUpPath = URIHelper.BasePath + "App_Data/DBBackups/" + DateTime.Now.ToString("yyyy'-'MM'-'dd-HH'-'mm'-'ss'Z'") + "-" + dbName + ".bak"; * * using (SqlConnection cnn = new SqlConnection(connectionString)) * { * cnn.Open(); * dbName = cnn.Database.ToString(); * * ServerConnection sc = new ServerConnection(cnn); * Server sv = new Server(sc); * * // Create backup device item for the backup * BackupDeviceItem bdi = new BackupDeviceItem(backUpPath, DeviceType.File); * * // Create the backup informaton * Microsoft.SqlServer.Management.Smo.Backup bk = new Backup(); * * //bk.PercentComplete += new PercentCompleteEventHandler(percentComplete); * bk.Devices.Add(bdi); * bk.Action = BackupActionType.Database; * bk.PercentCompleteNotification = 1; * bk.BackupSetDescription = dbName; * bk.BackupSetName = dbName; * bk.Database = dbName; * * //bk.ExpirationDate = DateTime.Now.AddSeconds(10); * bk.LogTruncation = BackupTruncateLogType.Truncate; * bk.FormatMedia = false; * bk.Initialize = true; * bk.Checksum = true; * bk.ContinueAfterError = true; * bk.Incremental = false; * * try * { * // Run the backup * bk.SqlBackup(sv);//Exception * return returnObj; * } * catch (Exception ex) * { * ErrorHelper.LogException(ex); * * returnObj.Error = ErrorHelper.CreateError(ex); * * return returnObj; * } * }*/ }