Exemple #1
0
        private static Email GetEmail(ContactEmailAddress email)
        {
            Email e = new Email();

            e.Address = email.EmailAddress;

            switch (email.Kind)
            {
            case EmailAddressKind.Work:
                e.Type  = EmailType.Work;
                e.Label = "Work";
                break;

            case EmailAddressKind.Personal:
                e.Type  = EmailType.Home;
                e.Label = "Home";
                break;

            default:
                e.Type  = EmailType.Other;
                e.Label = "Other";
                break;
            }

            return(e);
        }
Exemple #2
0
        public ActionResult AddContactEmail(int contactId, string emailAddress)
        {
            if (db.ContactEmailAddresses.Where(e => e.ContactId == contactId && e.EmailAddress == emailAddress).Any())
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }

            ContactEmailAddress newEmailAddress = new ContactEmailAddress()
            {
                ContactId    = contactId,
                EmailAddress = emailAddress
            };

            db.ContactEmailAddresses.Add(newEmailAddress);
            db.SaveChanges();

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
        private async Task <bool> ValidateCreateModel(ContactEmailAddress _model)
        {
            var _emailAddress = await unitOfWorks.EmailAddresses().GetSingleByEmailAddressId(_model.emailaddressid);

            if (_emailAddress == null)
            {
                ModelState.AddModelError("emailaddressid", "Email address not found.");
            }

            var _contact = await unitOfWorks.Contacts().GetSingleByContactId(_model.contactid);

            if (_contact == null)
            {
                ModelState.AddModelError("contactid", "Contact not found.");
            }

            return(ModelState.IsValid);
        }
        public async Task <IActionResult> Create([FromBody] ContactEmailAddress model)
        {
            if (model == null)
            {
                httpResult = new FSResponseMessage(FSStatusCode.BadRequest, FSStatusMessage.fail, HttpResponseMessageKey.ArgsNull);
                goto response;
            }

            if (!await ValidateCreateModel(model))
            {
                var _modelState = ModelState
                                  .Where(x => x.Value.ValidationState == ModelValidationState.Invalid)
                                  .ToDictionary(x => x.Key, x => x.Value.Errors[0].ErrorMessage);

                httpResult = new FSResponseData <Dictionary <string, string> >(FSStatusCode.UnprocessableEntity, FSStatusMessage.fail, _modelState);
                goto response;
            }

            try
            {
                model.Init();
                unitOfWorks.ContactEmailAddresses().Add(model);

                int _status = await unitOfWorks.Save();

                if (_status == 1)
                {
                    httpResult = new FSResponseMessage(FSStatusCode.OK, FSStatusMessage.success, HttpResponseMessageKey.DataSuccessfullyCreated);
                }
                else
                {
                    httpResult = new FSResponseMessage(FSStatusCode.InternalServerErrorException, FSStatusMessage.error, HttpResponseMessageKey.DataUnsuccessfullyCreated);
                }
            }
            catch (Exception ex)
            {
                httpResult = new FSResponseMessage(FSStatusCode.InternalServerErrorException, FSStatusMessage.error, ex.Message);
            }

response:
            return(FSHttpResponse(httpResult));
        }
        Task <Tuple <string, string> > SearchContactInUserDataAsync(string filter)
        {
            TaskCompletionSource <Tuple <string, string> > tcs =
                new TaskCompletionSource <Tuple <string, string> >();
            Tuple <string, string> result = null;
            EventHandler <MowblyContactsSearchEventArgs> OnContactsSearchCompleted = (sender, e) =>
            {
                if (e.Status)
                {
                    Contact c = e.Contacts.FirstOrDefault();
                    // Param can be Phone or Email or Name
                    ContactPhoneNumber phone = c.PhoneNumbers.FirstOrDefault();
                    if (phone != null)
                    {
                        result = Tuple.Create <string, string>(phone.PhoneNumber, phone.Kind.ToString());
                    }
                    else
                    {
                        ContactEmailAddress email = c.EmailAddresses.FirstOrDefault();
                        if (email != null)
                        {
                            result = Tuple.Create <string, string>(email.EmailAddress, email.Kind.ToString());
                        }
                        else
                        {
                            CompleteName name = c.CompleteName;
                            if (name != null)
                            {
                                result = Tuple.Create <string, string>(name.FirstName, "name");
                            }
                        }
                    }
                }
                tcs.SetResult(result);
            };

            SearchContactInUserDataAsync(filter, OnContactsSearchCompleted);

            return(tcs.Task);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="contactEmailAddress">
 /// <see cref="Microsoft.Phone.UserData.ContactEmailAddress">ContactEmailAddress</see> object
 /// </param>
 public W3ContactEmail(ContactEmailAddress contactEmailAddress)
 {
     Kind  = GetW3ContactFieldType <EmailAddressKind>(contactEmailAddress.Kind);
     Value = contactEmailAddress.EmailAddress;
 }
 private async Task <bool> IsValidToDeleteModel(ContactEmailAddress _model)
 {
     return(true);
 }