示例#1
0
        public static async Task <LG.Data.Models.Users.UserModel> Update(LG.Data.Models.Shared.Contact contact)
        {
            var phones = new List <PhoneBase>();


            var user = new UserModel()
            {
                CorporationRID = 10,
                ClientRID      = contact.ContactForRID,
                EventAction    = Action.Update,
                GeneralInfo    = new PersonInfo()
                {
                    FName = contact.PersonInfo.FName,
                    MName = contact.PersonInfo.MName,
                    LName = contact.PersonInfo.LName
                }
            };

            user.EventAction = Models.Enums.Action.Update;

            contact.EventAction = ContactAction.Update;
            for (var i = 0; i < contact.Phones.Count; i++)
            {
                await LG.Data.Shared.ContactInfoService.SavePhone(contact, i);
            }
            var   r3 = LG.Data.Shared.ContactInfoService.SavePersonInfo(user);
            await r3;

            if (r3.IsCompleted)
            {
                return(user);
            }
            return(null);
        }
示例#2
0
        public static async Task <LG.Data.Models.Shared.Contact> Save(LG.Data.Models.Shared.Contact contact)
        {
            switch (contact.EventAction)
            {
            case ContactAction.Add:
                var client = LG.Services.ClientConnection.GetEmsConnection();
                try
                {
                    client.Open();
                    var response
                        = await client.AddNewBEntityAsContactAsync(new AddNewBEntityAsContactRequest()
                    {
                        MessageGuid = Guid.NewGuid(),
                        Contact     = new ContactInput()
                        {
                            IsActive       = contact.IsActive,
                            ContactForRID  = contact.ContactForRID,
                            ContactUsages  = contact.ContactUsages,
                            EmailAddresses = contact.NewEmailAddresses,
                            Addresses      = new List <AddressInput>(),
                            Phones         = contact.NewPhones,
                            PersonInfo     = new PersonInfoInput()
                            {
                                FName = contact.PersonInfo.FName,
                                MName = contact.PersonInfo.MName,
                                LName = contact.PersonInfo.LName
                            },
                        },
                        PropBag = "<PropBag>LG.Data.Core.Clients.ContactDataService.Save(LG.Data.Models.Shared.Contact contact)</PropBag>"
                    });

                    client.Close();
                    contact.RID = response.ContactRID;
                }
                catch (Exception ex)
                {
                    contact.IsError = true;
                    contact.Message = ex.ToString();
                }
                break;

            case ContactAction.Update:
                var userModel = new LG.Data.Models.Users.UserModel()
                {
                    CorporationRID = 10,
                    ClientRID      = contact.ContactForRID,
                    GeneralInfo    = new LG.Data.Models.Shared.PersonInfo()
                    {
                        FName = contact.PersonInfo.FName,
                        MName = contact.PersonInfo.MName,
                        LName = contact.PersonInfo.LName
                    },
                    UserRID = contact.RID,
                };
                break;
            }
            return(contact);
        }
示例#3
0
 public static async Task <LG.Data.Models.Shared.Contact> Save(LG.Data.Models.Shared.Contact contact)
 {
     return(await LG.Data.Core.Clients.ContactDataService.Save(contact));
 }
示例#4
0
        public static async Task <BaseModel> SavePhoneTask(LG.Data.Models.Shared.Contact entity, Int32 index)
        {
            var client = ClientConnection.GetEmsConnection();

            try
            {
                client.Open();
                if (entity.EventAction == Models.Enums.ContactAction.Add)
                {
                    #region [@  Add     @]

                    var response = await client.AddPhoneAsync(
                        new AddPhoneRequest
                    {
                        MessageGuid = Guid.NewGuid(),
                        RID         = entity.RID,
                        Phone       = entity.Phones[index],
                        PropBag     = PropBag
                    });

                    client.Close();

                    #endregion
                    return(new BaseModel
                    {
                        IsError = response.ReturnStatus.IsError,
                        Message = response.ReturnStatus.IsError
                            ? response.ReturnStatus.ErrorMessage
                            : response.ReturnStatus.GeneralMessage
                    });
                }
                else
                {
                    #region [@  Update     @]

                    var response = await client.UpdatePhoneAsync(
                        new UpdatePhoneRequest
                    {
                        MessageGuid            = new Guid(),
                        RID                    = entity.RID,
                        NewPhone               = entity.Phones[index],
                        IsPrimary              = entity.Phones[index].PhoneUsages[0].IsPrimary,
                        PhoneIDToUpdate        = entity.Phones[index].ID,
                        NewPhoneUsageEnum      = entity.Phones[index].PhoneUsages[0].PhoneUsageEnum,
                        PhoneUsageEnumToUpdate = entity.Phones[index].PhoneUsages[0].PhoneUsageEnum,
                        PropBag                = PropBag
                    });

                    client.Close();
                    #endregion
                    return(new BaseModel
                    {
                        IsError = response.ReturnStatus.IsError,
                        Message = response.ReturnStatus.IsError
                            ? response.ReturnStatus.ErrorMessage
                            : response.ReturnStatus.GeneralMessage
                    });
                }
            }
            catch (Exception ex)
            {
                client.Close();
                return(new BaseModel
                {
                    IsError = true,
                    Message = ex.ToString()
                });
            }
        }