diff --git a/BExIS.Modules.EMM.UI.csproj b/BExIS.Modules.EMM.UI.csproj index be4ab77..df890ef 100644 --- a/BExIS.Modules.EMM.UI.csproj +++ b/BExIS.Modules.EMM.UI.csproj @@ -18,7 +18,7 @@ Properties BExIS.Modules.EMM.UI BExIS.Modules.EMM.UI - v4.5.2 + v4.8 false true @@ -30,6 +30,7 @@ ..\..\..\..\packages\WebGrease.1.5.2\lib + true @@ -74,13 +75,16 @@ - ..\..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll + + + + ..\..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll @@ -108,42 +112,15 @@ ..\..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll - + ..\..\..\..\packages\TelerikMvcExtensions.2012.3.1018\lib\net40\Telerik.Web.Mvc.dll True - - ..\..\..\..\Libraries\Vaiona\Vaiona.Entities.dll - False - - - False - ..\..\..\..\Libraries\Vaiona\Vaiona.Logging.dll - - - ..\..\..\..\Libraries\Vaiona\Vaiona.Model.dll - - - ..\..\..\..\Libraries\Vaiona\Vaiona.Persistence.Api.dll - - - ..\..\..\..\Libraries\Vaiona\Vaiona.Utils.dll - - - ..\..\..\..\Libraries\Vaiona\Vaiona.Web.dll - - - ..\..\..\..\Libraries\Vaiona\Vaiona.Web.Mvc.dll - - - False - ..\..\..\..\Libraries\Vaiona\Vaiona.Web.Mvc.Modularity.dll - ..\..\..\..\packages\WebActivatorEx.2.2.0\lib\net40\WebActivatorEx.dll @@ -165,7 +142,6 @@ - @@ -195,9 +171,11 @@ + - + + @@ -259,6 +237,38 @@ {A7FBCC13-7E29-4710-82A1-BD6D6F811FDA} BExIS.Utils.Data + + {0815d220-3625-4e23-bbbc-8152345637fe} + Vaiona.Entities + + + {e8b37581-1cac-463d-903b-b4bee8b2b0e3} + Vaiona.Logging + + + {a60ac05f-8c9a-4efd-9826-452e6049da4d} + Vaiona.Model + + + {640bf81d-354a-4bf0-85fc-f0ad587cf8a2} + Vaiona.Persistence.Api + + + {63fcacaa-9534-4fdd-a082-78dcc06baf28} + Vaiona.Utils + + + {705f8751-e58a-453e-a7fd-0c310fd3cae8} + Vaiona.Web.Mvc.Modularity + + + {5f5d22e8-8c05-49cd-854e-8fe8eff1aa6c} + Vaiona.Web.Mvc + + + {5b48b5a8-eae8-4ef8-8f2c-7fedb1b095d3} + Vaiona.Web + {252f7872-a69c-43a6-84b4-4d2abdbdd9ab} BExIS.Xml.Helpers diff --git a/Controllers/EventController.cs b/Controllers/EventController.cs index 135c3a6..156da81 100644 --- a/Controllers/EventController.cs +++ b/Controllers/EventController.cs @@ -22,11 +22,19 @@ using Vaiona.Persistence.Api; using System.Xml.Linq; using Newtonsoft.Json; +using Vaiona.Web.Mvc.Modularity; namespace BExIS.Modules.EMM.UI.Controllers { public class EventController : Controller { + private readonly GroupManager _groupManager; + + public EventController(GroupManager groupManager) + { + _groupManager = groupManager; + } + public ActionResult EventManager() { ViewBag.Title = PresentationModel.GetViewTitleForTenant("Manage Events", this.Session.GetTenant()); @@ -160,22 +168,23 @@ public ActionResult Save(EventModel model, HttpPostedFileBase file) eManager.UpdateEvent(newEvent); //add security - using (var groupManager = new GroupManager()) using (var entityTypeManager = new EntityManager()) - using (EntityPermissionManager pManager = new EntityPermissionManager()) { + EntityPermissionManager pManager = new EntityPermissionManager(); Entity entityType = entityTypeManager.FindByName("Event"); - string[] eventAdminGroups = Helper.Settings.get("EventAdminGroups").ToString().Split(','); + var settings = ModuleManager.GetModuleSettings("emm"); + string[] eventAdminGroups = settings.GetValueByKey("EventAdminGroups").ToString().Split(','); + if (eventAdminGroups != null && eventAdminGroups.Length > 0) { foreach(var g in eventAdminGroups) { int fullRights = (int)RightType.Read + (int)RightType.Write + (int)RightType.Delete + (int)RightType.Grant; - var group = groupManager.FindByNameAsync(g).Result; + var group = _groupManager.FindByNameAsync(g).Result; if (group != null) { - if (pManager.GetRights(group.Id, entityType.Id, newEvent.Id) == 0) - pManager.Create(group.Id, entityType.Id, newEvent.Id, fullRights); + if (pManager.GetRightsAsync(group.Id, entityType.Id, newEvent.Id).Result == 0) + pManager.CreateAsync(group.Id, entityType.Id, newEvent.Id, fullRights); } } diff --git a/Controllers/EventRegistrationController.cs b/Controllers/EventRegistrationController.cs index 863b8f3..8d5f12e 100644 --- a/Controllers/EventRegistrationController.cs +++ b/Controllers/EventRegistrationController.cs @@ -383,7 +383,7 @@ public ActionResult LoadForm(LogInToEventModel model) if (model.Edit) { - if(model.RefId.Length > 0) + if(model.RefId != null && model.RefId.Length > 0) { List regs = erManager.GetRegistrationsByRefIdAndEvent(model.RefId, e.Id); EventRegistration reg = regs.Where(a => a.Deleted == false).FirstOrDefault(); @@ -751,28 +751,29 @@ private void SendWaitingListNotification(XmlDocument data, Event e) emailStructure.bodyClosingName; - var es = new EmailService(); - - // If no explicit Reply to mail is set use the SystemEmail - string replyTo = ""; - if (String.IsNullOrEmpty(e.EmailReply)) - { - replyTo = ConfigurationManager.AppSettings["SystemEmail"]; - } - else + using (var es = new EmailService()) { - replyTo = e.EmailReply; - } - es.Send( - subject, - body, - new List { email }, // to - new List { e.EmailCC }, // CC - new List { ConfigurationManager.AppSettings["SystemEmail"], e.EmailBCC }, // Allways send BCC to SystemEmail + additional set - new List { replyTo } - ); + // If no explicit Reply to mail is set use the SystemEmail + string replyTo = ""; + if (String.IsNullOrEmpty(e.EmailReply)) + { + replyTo = ConfigurationManager.AppSettings["SystemEmail"]; + } + else + { + replyTo = e.EmailReply; + } + es.Send( + subject, + body, + new List { email }, // to + new List { e.EmailCC }, // CC + new List { ConfigurationManager.AppSettings["SystemEmail"], e.EmailBCC }, // Allways send BCC to SystemEmail + additional set + new List { replyTo } + ); + } } public ActionResult Save() diff --git a/Controllers/EventRegistrationResultController.cs b/Controllers/EventRegistrationResultController.cs index 16f9d28..7687356 100644 --- a/Controllers/EventRegistrationResultController.cs +++ b/Controllers/EventRegistrationResultController.cs @@ -33,6 +33,12 @@ namespace BExIS.Modules.EMM.UI.Controllers { public class EventRegistrationResultController : Controller { + private readonly UserManager _userManager; + + public EventRegistrationResultController(UserManager userManager) + { + _userManager = userManager; + } private CreateTaskmanager TaskManager; @@ -177,13 +183,12 @@ public ActionResult OnSelectTreeViewItem(long id) model.EventId = id; //check rights on event - using (var permissionManager = new EntityPermissionManager()) using (var entityTypeManager = new EntityManager()) - using (var userManager = new UserManager()) { - var user = userManager.FindByNameAsync(HttpContext.User.Identity.Name).Result; + EntityPermissionManager permissionManager = new EntityPermissionManager(); + var user = _userManager.FindByNameAsync(HttpContext.User.Identity.Name).Result; Entity entity = entityTypeManager.FindByName("Event"); - model.UserHasRights = permissionManager.HasEffectiveRight(user.Name, entity.EntityType, id, RightType.Read); + model.UserHasRights = permissionManager.HasEffectiveRightsAsync(user.Name, entity.EntityType, id, RightType.Read).Result; } return View("EventRegistrationResults", model); @@ -250,33 +255,34 @@ private void SendNotification(XmlDocument data, Event e) string subject = emailStructure.removeFromWaitingListSubject + e.Name; string body = emailStructure.bodyTitle + first_name + " " + last_name + ", " + "

" + - emailStructure.removeFromWaitingList1 + "

" + + emailStructure.removeFromWaitingList1 + "

" + emailStructure.bodyClosing + "
" + emailStructure.bodyClosingName; - var es = new EmailService(); - - // If no explicit Reply to mail is set use the SystemEmail - string replyTo = ""; - if (String.IsNullOrEmpty(e.EmailReply)) + using (var es = new EmailService()) { - replyTo = ConfigurationManager.AppSettings["SystemEmail"]; - } - else - { - replyTo = e.EmailReply; - } - es.Send( - subject, - body, - new List { email }, // to - new List { e.EmailCC }, // CC - new List { ConfigurationManager.AppSettings["SystemEmail"], e.EmailBCC }, // Allways send BCC to SystemEmail + additional set - new List { replyTo } - ); + // If no explicit Reply to mail is set use the SystemEmail + string replyTo = ""; + if (String.IsNullOrEmpty(e.EmailReply)) + { + replyTo = ConfigurationManager.AppSettings["SystemEmail"]; + } + else + { + replyTo = e.EmailReply; + } + es.Send( + subject, + body, + new List { email }, // to + new List { e.EmailCC }, // CC + new List { ConfigurationManager.AppSettings["SystemEmail"], e.EmailBCC }, // Allways send BCC to SystemEmail + additional set + new List { replyTo } + ); + } } #endregion @@ -365,7 +371,6 @@ private void setAdditionalFunctions() public ActionResult DeleteRegistration(long id) { using (EventRegistrationManager erManager = new EventRegistrationManager()) - using (UserManager userManager = new UserManager()) { EventRegistration reg = erManager.EventRegistrationRepo.Get(a => a.Id == id).FirstOrDefault(); if (reg != null) @@ -380,7 +385,7 @@ public ActionResult DeleteRegistration(long id) if (reg.Person != null) { - User user = userManager.FindByIdAsync(reg.Person.Id).Result; + User user = _userManager.FindByIdAsync(reg.Person.Id).Result; email = user.Email; } else @@ -501,23 +506,48 @@ private DataTable GetWaitingListResults(long eventId) // return results; //} + private static string MakeUniqueColumnName(DataTable dt, string desiredName) + { + var baseName = string.IsNullOrWhiteSpace(desiredName) ? "Column" : desiredName.Trim(); + + if (!dt.Columns.Contains(baseName)) + return baseName; + + int i = 2; + string candidate; + do + { + candidate = $"{baseName}__{i}"; + i++; + } while (dt.Columns.Contains(candidate)); + + return candidate; + } + + private DataTable CreateDataTableColums(DataTable dataTable, XElement x) { - DataTable dt = dataTable; - // build your DataTable - foreach (XElement xe in x.Descendants()) + var dt = dataTable; + + foreach (var xe in x.Descendants()) { if (!xe.HasElements) { - DataColumn dc = new DataColumn(); - string colName = xe.Name.ToString().Replace("Type", ""); - dc.Caption = colName; - dc.ColumnName = colName; - dt.Columns.Add(dc); // add columns to your dt + var displayName = xe.Name.ToString().Replace("Type", ""); + var internalName = MakeUniqueColumnName(dt, displayName); + + var dc = new DataColumn + { + Caption = displayName, // darf doppelt sein (UI) + ColumnName = internalName // MUSS eindeutig sein (DataTable) + }; + + dt.Columns.Add(dc); } } return dt; + } private DataRow AddDataRow(XElement x, DataTable dt, string deleted, long id) @@ -525,14 +555,37 @@ private DataRow AddDataRow(XElement x, DataTable dt, string deleted, long id) DataRow dr = dt.NewRow(); dr["Id"] = id; dr["Deleted"] = deleted; + + // Zähler je Feldname (z.B. Category -> wie oft schon befüllt) + var usageCounter = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (XElement xe in x.Descendants()) { if (!xe.HasElements) { - string value = xe.Value.Replace("\r\n", " "); - value = value.Replace("\n", " "); + string displayName = xe.Name.ToString().Replace("Type", ""); + string value = xe.Value.Replace("\r\n", " ").Replace("\n", " "); value = HttpUtility.HtmlDecode(value); - dr[xe.Name.ToString().Replace("Type", "")] = value; //add in the values + + // wie oft kam dieses Feld schon? + if (!usageCounter.ContainsKey(displayName)) + usageCounter[displayName] = 0; + + int index = usageCounter[displayName]; + + // passende Spalte suchen (über Caption!) + var matchingColumns = dt.Columns + .Cast() + .Where(c => c.Caption.Equals(displayName, StringComparison.OrdinalIgnoreCase)) + .ToList(); + + if (index < matchingColumns.Count) + { + var targetColumn = matchingColumns[index]; + dr[targetColumn.ColumnName] = value; + usageCounter[displayName]++; + } + // else: mehr Werte als Spalten -> bewusst ignorieren oder loggen } } @@ -542,6 +595,7 @@ private DataRow AddDataRow(XElement x, DataTable dt, string deleted, long id) #endregion + } } diff --git a/Emm.Settings.json b/Emm.Settings.json new file mode 100644 index 0000000..db1cfc2 --- /dev/null +++ b/Emm.Settings.json @@ -0,0 +1,23 @@ +{ + "id": "emm", + "name": "Event management", + "description": "...", + "entries": [ + { + "key": "help", + "title": "Help URL", + "value": "", + "type": "String", + "description": "URL to the manual. If empty, it links to the latest manual from BEXIS2" + }, + { + "key": "EventAdminGroups", + "title": "Event admin groups", + "value": "beo, administrator", + "description": "", + "type": "String", + "options": [] + } + + ] +} \ No newline at end of file diff --git a/Entities/BExIS.Emm.Entities/BExIS.Emm.Entities.csproj b/Entities/BExIS.Emm.Entities/BExIS.Emm.Entities.csproj index 8190d19..75c2e7c 100644 --- a/Entities/BExIS.Emm.Entities/BExIS.Emm.Entities.csproj +++ b/Entities/BExIS.Emm.Entities/BExIS.Emm.Entities.csproj @@ -14,10 +14,11 @@ Properties BExIS.Emm.Entities BExIS.Emm.Entities - v4.5.2 + v4.8 512 +
true @@ -45,12 +46,6 @@ - - ..\..\..\..\..\..\Libraries\Vaiona\Vaiona.Entities.dll - - - ..\..\..\..\..\..\Libraries\Vaiona\Vaiona.Persistence.Api.dll - @@ -63,9 +58,13 @@ BExIS.Security.Entities - {b4e7b1bf-01b4-40af-8d19-b8f362167261} + {B4E7B1BF-01B4-40AF-8D19-B8F362167261} BExIS.Dlm.Entities + + {0815D220-3625-4E23-BBBC-8152345637FE} + Vaiona.Entities + diff --git a/Entities/BExIS.Emm.Entities/app.config b/Entities/BExIS.Emm.Entities/app.config index f6e7dca..ee3cc47 100644 --- a/Entities/BExIS.Emm.Entities/app.config +++ b/Entities/BExIS.Emm.Entities/app.config @@ -1,11 +1,11 @@ - + - - + + - \ No newline at end of file + diff --git a/Helper/EmailHelper.cs b/Helper/EmailHelper.cs index 97422b9..852e831 100644 --- a/Helper/EmailHelper.cs +++ b/Helper/EmailHelper.cs @@ -107,41 +107,42 @@ public static void SendEmailNotification(string notificationType, string email, body += emailStructure.bodyOpening + "
" + details + "

"; if (notificationType != "deleted") - body += emailStructure.bodyHintToLink + "" + url + "/emm/EventRegistration/EventRegistration/?ref_id=" + ref_id + "

"; + body += emailStructure.bodyHintToLink + "" + url + "/emm/EventRegistration/EventRegistration/?ref_id=" + ref_id + "

"; body += emailStructure.bodyClosing + "
" + emailStructure.bodyClosingName; - var es = new EmailService(); + using (var es = new EmailService()) + { + List ccMails = new List(); + if (!String.IsNullOrEmpty(e.EmailCC)) + ccMails.AddRange(e.EmailCC.Split(',').ToList()); - List ccMails = new List(); - if (!String.IsNullOrEmpty(e.EmailCC)) - ccMails.AddRange(e.EmailCC.Split(',').ToList()); + List bccMails = new List(); + bccMails.Add(ConfigurationManager.AppSettings["SystemEmail"]); + if (!String.IsNullOrEmpty(e.EmailBCC)) + bccMails.AddRange(e.EmailBCC.Split(',').ToList()); - List bccMails = new List(); - bccMails.Add(ConfigurationManager.AppSettings["SystemEmail"]); - if (!String.IsNullOrEmpty(e.EmailBCC)) - bccMails.AddRange(e.EmailBCC.Split(',').ToList()); + // If no explicit Reply to mail is set use the SystemEmail + string replyTo = ""; + if (String.IsNullOrEmpty(e.EmailReply)) + { + replyTo = ConfigurationManager.AppSettings["SystemEmail"]; + } + else + { + replyTo = e.EmailReply; + } - // If no explicit Reply to mail is set use the SystemEmail - string replyTo = ""; - if (String.IsNullOrEmpty(e.EmailReply)) - { - replyTo = ConfigurationManager.AppSettings["SystemEmail"]; - } - else - { - replyTo = e.EmailReply; + es.Send( + subject, + body, + new List { email }, // to + ccMails, // CC + bccMails, // Allways send BCC to SystemEmail + additional set + new List { replyTo } + ); } - - es.Send( - subject, - body, - new List { email }, // to - ccMails, // CC - bccMails, // Allways send BCC to SystemEmail + additional set - new List { replyTo } - ); } public static string GetRefIdFromEmail(string email) diff --git a/Helper/FormHelper.cs b/Helper/FormHelper.cs index 9cb0251..b57149b 100644 --- a/Helper/FormHelper.cs +++ b/Helper/FormHelper.cs @@ -1,5 +1,6 @@ -using BExIS.Dim.Entities.Mapping; -using BExIS.Dim.Helpers.Mapping; + +using BExIS.Dim.Entities.Mappings; +using BExIS.Dim.Helpers.Mappings; using BExIS.Dlm.Entities.Common; using BExIS.Dlm.Entities.DataStructure; using BExIS.Dlm.Entities.MetadataStructure; diff --git a/Helper/Settings.cs b/Helper/Settings.cs deleted file mode 100644 index 2bec54e..0000000 --- a/Helper/Settings.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Xml; -using System.Xml.Linq; -using Vaiona.Utils.Cfg; - -namespace BExIS.Modules.EMM.UI.Helper -{ - static class Settings - { - - private static String filePath = Path.Combine(AppConfiguration.GetModuleWorkspacePath("EMM"), "Emm.settings.xml"); - private static Dictionary settings = new Dictionary(); - - /// - /// setup settings model - /// * load settings from settings.xml - /// - static Settings() - { - // intial loading of settings - reloadSettings(); - - // set up file watcher to listen for changes - using (FileSystemWatcher fw = new FileSystemWatcher()) - { - fw.Path = Path.GetDirectoryName(filePath); - fw.Filter = Path.GetFileName(filePath); - fw.Changed += new FileSystemEventHandler(fw_Changed); - fw.EnableRaisingEvents = true; - } - - } - - /// - /// retrieve a value from the settings file - /// - /// the key for the parameter - /// the respective value - public static object get(String key) - { - if (settings.ContainsKey(key)) - { - return settings[key]; - } - else - { - return null; - } - } - - /// - /// add or change an entry in the settings - /// TODO persist changes in workflow file - /// - /// - /// - public static void set(String key, object value) - { - if (settings.ContainsKey(key)) - { - settings[key] = value; - } - else - { - settings.Add(key, value); - } - } - - /// - /// Handler to listen for changes in settings file - /// - /// - /// - private static void fw_Changed(object sender, FileSystemEventArgs e) - { - reloadSettings(); - } - - /// - /// load settings anew from settings.xml - /// - private static void reloadSettings() - { - // get XML data - XDocument xDoc = XDocument.Load(filePath); - XmlDocument xmlDoc = new XmlDocument(); - xmlDoc.Load(xDoc.CreateReader()); - - // empty old settings list - settings.Clear(); - - // parse values - foreach (XmlNode node in xmlDoc.SelectNodes("//settings/entry")) - { - // shortcuts - var key = node.Attributes["key"] != null ? node.Attributes["key"].Value : null; - var value = node.Attributes["value"] != null ? node.Attributes["value"].Value : null; - var type = node.Attributes["type"] != null ? node.Attributes["type"].Value : null; - - // only parse valid entries - if ((null == key) || (null == value)) - { - continue; - } - - // convert types - switch (type) - { - case "int": - int intVal; - if (Int32.TryParse(value, out intVal)) - { - settings.Add(key, intVal); - } - else - { - settings.Add(key, value); - } - break; - - // default is string - default: - settings.Add(key, value); - break; - } - } - } - - } -} \ No newline at end of file diff --git a/Orm/BExIS.Emm.Orm.NH/BExIS.Emm.Orm.NH.csproj b/Orm/BExIS.Emm.Orm.NH/BExIS.Emm.Orm.NH.csproj index 729ff3d..68411ac 100644 --- a/Orm/BExIS.Emm.Orm.NH/BExIS.Emm.Orm.NH.csproj +++ b/Orm/BExIS.Emm.Orm.NH/BExIS.Emm.Orm.NH.csproj @@ -14,10 +14,11 @@ Properties BExIS.Emm.Orm.NH BExIS.Emm.Orm.NH - v4.5.2 + v4.8 512 +
true diff --git a/Properties/PublishProfiles/BexisServer_2010-testsite.pubxml b/Properties/PublishProfiles/BexisServer_2030-testsite.pubxml similarity index 93% rename from Properties/PublishProfiles/BexisServer_2010-testsite.pubxml rename to Properties/PublishProfiles/BexisServer_2030-testsite.pubxml index 8fac3cf..9ca7857 100644 --- a/Properties/PublishProfiles/BexisServer_2010-testsite.pubxml +++ b/Properties/PublishProfiles/BexisServer_2030-testsite.pubxml @@ -12,7 +12,7 @@ indem Sie diese MSBuild-Datei bearbeiten. Weitere Informationen hierzu finden Si True False - C:\inetpub\wwwroot\2010-TestSite\Site\Areas\EMM + C:\inetpub\wwwroot\2030-TestSite\Site\Areas\EMM False \ No newline at end of file diff --git a/Properties/PublishProfiles/BexisServer_v4-ProdTestsite.pubxml b/Properties/PublishProfiles/BexisServer_v4-ProdTestsite.pubxml new file mode 100644 index 0000000..1c9a5b2 --- /dev/null +++ b/Properties/PublishProfiles/BexisServer_v4-ProdTestsite.pubxml @@ -0,0 +1,18 @@ + + + + + FileSystem + FileSystem + Release + Any CPU + + True + False + C:\inetpub\wwwroot\v4-ProdTestsite\Site\Areas\EMM + False + + \ No newline at end of file diff --git a/Services/BExIS.Emm.Services/BExIS.Emm.Services.csproj b/Services/BExIS.Emm.Services/BExIS.Emm.Services.csproj index 0f23b1c..0dec12f 100644 --- a/Services/BExIS.Emm.Services/BExIS.Emm.Services.csproj +++ b/Services/BExIS.Emm.Services/BExIS.Emm.Services.csproj @@ -14,10 +14,11 @@ Properties BExIS.Emm.Services BExIS.Emm.Services - v4.5.2 + v4.8 512 + true @@ -45,15 +46,6 @@ - - ..\..\..\..\..\..\Libraries\Vaiona\Vaiona.Entities.dll - - - ..\..\..\..\..\..\Libraries\Vaiona\Vaiona.Persistence.Api.dll - - - ..\..\..\..\..\..\Libraries\Vaiona\Vaiona.Utils.dll - @@ -70,6 +62,18 @@ {b4e7b1bf-01b4-40af-8d19-b8f362167261} BExIS.Dlm.Entities + + {0815d220-3625-4e23-bbbc-8152345637fe} + Vaiona.Entities + + + {640bf81d-354a-4bf0-85fc-f0ad587cf8a2} + Vaiona.Persistence.Api + + + {63fcacaa-9534-4fdd-a082-78dcc06baf28} + Vaiona.Utils + {2a701141-381e-4ad0-a446-094e4d22bee4} BExIS.Emm.Entities diff --git a/Services/BExIS.Emm.Services/app.config b/Services/BExIS.Emm.Services/app.config index 8e59a78..d8e6a28 100644 --- a/Services/BExIS.Emm.Services/app.config +++ b/Services/BExIS.Emm.Services/app.config @@ -1,39 +1,39 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - \ No newline at end of file + diff --git a/Views/Event/EditEvent.cshtml b/Views/Event/EditEvent.cshtml index d2c7995..1c379b0 100644 --- a/Views/Event/EditEvent.cshtml +++ b/Views/Event/EditEvent.cshtml @@ -265,23 +265,23 @@ var jsonData = JSON.parse(data); jsonData.forEach(function (object) { if ('@Model.XPathToEmail' == object.XPath) { - $('#XPathToEmail').append(''); + $('#XPathToEmail').append(''); } else { - $('#XPathToEmail').append(''); + $('#XPathToEmail').append(''); } if ('@Model.XPathToFirstName' == object.XPath) { - $('#XPathToFirstName').append(''); + $('#XPathToFirstName').append(''); } else { - $('#XPathToFirstName').append(''); + $('#XPathToFirstName').append(''); } if ('@Model.XPathToLastName' == object.XPath) { - $('#XPathToLastName').append(''); + $('#XPathToLastName').append(''); } else { - $('#XPathToLastName').append(''); + $('#XPathToLastName').append(''); } }); }); @@ -298,10 +298,11 @@ $('#XPathToLastName').append(''); $.get('@Url.Action("GetMetadataNodes", "Event", new RouteValueDictionary { { "area", "EMM" } })', { id: id }, function (data) { var jsonData = JSON.parse(data); + console.log(data); jsonData.forEach(function (object) { - $('#XPathToEmail').append(''); - $('#XPathToFirstName').append(''); - $('#XPathToLastName').append(''); + $('#XPathToEmail').append(''); + $('#XPathToFirstName').append(''); + $('#XPathToLastName').append(''); }); }); }); diff --git a/web.config b/web.config index 1b4ca9a..889f03e 100644 --- a/web.config +++ b/web.config @@ -1,97 +1,105 @@ - + + - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - - - + + + + - \ No newline at end of file + + \ No newline at end of file