private Person SetPerson(PersonEditModel personEditModel, SeminarPerson seminarPerson, ModelStateDictionary modelState, Person person = null, HttpPostedFileBase profilePic = null)
{
modelState.Clear();
person = person ?? personEditModel.Person;
// copy all the fields
Mapper.Map(personEditModel, person);
SetAddresses(person, personEditModel.Addresses, ModelState);
SetContacts(person, personEditModel.Contacts, ModelState);
if (seminarPerson != null)
{
SetCommodities(seminarPerson, personEditModel.Commodities);
if (personEditModel.Firm != null || !string.IsNullOrEmpty(personEditModel.FirmName))
{
seminarPerson.Firm = personEditModel.Firm ?? new Firm(personEditModel.FirmName, personEditModel.FirmDescription) { WebAddress = personEditModel.FirmWebAddress };
}
if (personEditModel.Title != null) //Not sure what is happening here. This may fix it.
{
seminarPerson.Title = personEditModel.Title;
}
}
// deal with the image))
if (profilePic != null)
{
// blank out existing image files
person.OriginalPicture = null;
person.MainProfilePicture = null;
person.ThumbnailPicture = null;
// read the file and set the original picture
var reader = new BinaryReader(profilePic.InputStream);
person.OriginalPicture = reader.ReadBytes(profilePic.ContentLength);
person.ContentType = profilePic.ContentType;
}
// run the validation
person.TransferValidationMessagesTo(modelState);
return person;
}