/// <summary> /// Ermittelt einen Ansprechpartner zu einer Adresse über den Namen und Vornamen /// </summary> /// <param name="adresse"></param> /// <param name="nachname"></param> /// <param name="vorname"></param> /// <returns></returns> public AnsprechpartnerItem CreateOrGetAnsprechpartner(int adresse, string nachname, string vorname, string email) { try { if (SeminarData.AnsprechpartnerExists(Mandant, adresse, email)) { var ansprechpartner = SeminarData.GetAnsprechpartner(Mandant, adresse, email); ansprechpartner.Nachname = nachname; ansprechpartner.Vorname = vorname; return(SeminarData.UpdateAnsprechpartner(Mandant, ansprechpartner)); } else { var ansprechpartner = new AnsprechpartnerItem(); ansprechpartner.Adresse = adresse; ansprechpartner.Nachname = nachname; ansprechpartner.Vorname = vorname; ansprechpartner.EMail = email; ansprechpartner.Ansprechpartner = $"{vorname} {nachname}"; return(SeminarData.UpdateAnsprechpartner(Mandant, ansprechpartner)); } } catch (Exception ex) { TraceLog.LogException(ex); throw; } }
/// <summary> /// Aktualisiert bzw. legt einen neuen Ansprechpartner an /// </summary> /// <param name="mandant"></param> /// <param name="ansprechpartner"></param> /// <returns></returns> public static AnsprechpartnerItem UpdateAnsprechpartner(Mandant mandant, AnsprechpartnerItem ansprechpartner) { AnsprechpartnerItem item = null; if (SeminarData.AnsprechpartnerExists(mandant, ansprechpartner.Adresse, ansprechpartner.EMail)) { var parameterList = new QueryParameterList(); parameterList.AddClauseParameter("Mandant", mandant.Id); parameterList.AddClauseParameter("Adresse", ansprechpartner.Adresse); parameterList.AddClauseParameter("EMail", ansprechpartner.EMail); item = mandant.MainDevice.Entities.Ansprechpartner.GetItem(parameterList); } else { item = mandant.MainDevice.Entities.Ansprechpartner.CreateItem(); item.Mandant = mandant.Id; } item.Abteilung = ansprechpartner.Abteilung; item.Adresse = ansprechpartner.Adresse; item.Anrede = ansprechpartner.Anrede; item.Ansprechpartner = ansprechpartner.Ansprechpartner; item.Autotelefon = ansprechpartner.Autotelefon; item.Briefanrede = ansprechpartner.Briefanrede; item.EMail = ansprechpartner.EMail; if (ansprechpartner.Geburtsdatum.HasValue) { item.Geburtsdatum = ansprechpartner.Geburtsdatum.GetValueOrDefault(); } item.Gruppe = ansprechpartner.Gruppe; item.Memo = ansprechpartner.Memo; item.Mobilfunk = ansprechpartner.Mobilfunk; item.Nachname = ansprechpartner.Nachname; item.Position = ansprechpartner.Position; item.Telefax = ansprechpartner.Telefax; item.Telefon = ansprechpartner.Telefon; item.TelefonPrivat = ansprechpartner.TelefonPrivat; item.Titel = ansprechpartner.Titel; item.Transferadresse = ansprechpartner.Transferadresse; item.Vorname = ansprechpartner.Vorname; item.ZuHaendenText = ansprechpartner.ZuHaendenText; //ansprechpartner.UserDefinedFields.ToList().ForEach(u => item.UserDefinedFields[u.Name].Value = u.Value); var result = item.TrySave(); if (!result.IsSucceeded) { TraceLog.LogException(result.ExceptionOccurred); throw result.ExceptionOccurred; } return(item); }
/// <summary> /// Aktualisiert einen Ansprechpartner /// </summary> /// <param name="ansprechpartner"></param> /// <returns></returns> public AnsprechpartnerItem UpdateAnsprechpartner(AnsprechpartnerItem ansprechpartner) { try { if (ansprechpartner.Adresse == 0) { throw new Exception("Speicherung von Ansprechpartner ohne Adresse nicht möglich."); } return(SeminarData.UpdateAnsprechpartner(Mandant, ansprechpartner)); } catch (Exception ex) { TraceLog.LogException(ex); throw; } }