/// <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;
     }
 }
示例#2
0
        /// <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;
            }
        }