public ActionResult Delete(string control, DataModel model) { if (model.Contact.ID == 0) { return(null); } var contact = new Kesco.Persons.ObjectModel.Contact { ID = model.Contact.ID }; Repository.Contacts.Delete(contact); // Возврат значения для обновления родительского окна после удаления return(ReturnDialogValue(model.Contact.ID)); }
public ActionResult Save(string control, string docview, DataModel model) { // Валидация только Fluent валидатором ModelState.Clear(); ContactsValidator validator = new ContactsValidator(); ValidationResult validationResults = validator.Validate(model.Contact); if (!validationResults.IsValid) { validationResults.AddToModelState(ModelState, null); } if (!ModelState.IsValid) { return(JavaScriptAlert( Kesco.Persons.Web.Localization.Resources.Validation_Contact_ErrorDlg_Title, Kesco.Persons.Web.Localization.Resources.Validation_Contact_ErrorDlg_Message + "<br clear='all'/><ul>" + String.Join("\n", GetModelErrorMessages().Select(e => String.Format("<li>{0}</li>", e)) ) + "</ul>")); } model.Contact.ChangedBy = UserContext.EmployeeInfo.ID; model.Contact.ChangedDate = DateTime.UtcNow; var contact = new Kesco.Persons.ObjectModel.Contact { ID = model.Contact.ID, PersonID = model.Contact.PersonLinkID.HasValue ? ((int?)null) : model.Contact.PersonID, PersonLinkID = model.Contact.PersonLinkID, ContactTypeID = model.Contact.ContactTypeID.Value, ContactText = model.Contact.ContactText ?? string.Empty, ContactTextRL = model.Contact.ContactTextRL ?? string.Empty, CountryID = 0, Zip = string.Empty, Region = string.Empty, CityName = string.Empty, CityNameRus = string.Empty, Address = string.Empty, CountryPhoneCode = string.Empty, CityPhoneCode = string.Empty, PhoneNumber = string.Empty, PhoneNumberAdd = string.Empty, PhoneNumberCorporative = string.Empty, OtherContact = String.Empty, Comment = model.Contact.Comment ?? string.Empty, }; if (model.Contact.ContactTypeID.Value < 20) { contact.CountryID = model.Contact.CountryID ?? 0; contact.Zip = model.Contact.Zip ?? string.Empty; contact.Region = model.Contact.Region ?? string.Empty; contact.CityName = model.Contact.CityName ?? string.Empty; contact.CityNameRus = model.Contact.CityNameRus ?? string.Empty; contact.Address = model.Contact.Address ?? string.Empty; } if (model.Contact.ContactTypeID.Value >= 20 && model.Contact.ContactTypeID.Value < 40) { contact.CountryPhoneCode = model.Contact.CountryPhoneCode ?? string.Empty; contact.CityPhoneCode = model.Contact.CityPhoneCode ?? string.Empty; contact.PhoneNumber = model.Contact.PhoneNumber ?? string.Empty; contact.PhoneNumberAdd = model.Contact.PhoneNumberAdd ?? string.Empty; contact.PhoneNumberCorporative = model.Contact.PhoneNumberCorporative ?? string.Empty; } if (model.Contact.ContactTypeID.Value >= 40 && model.Contact.ContactTypeID.Value < 54) { contact.OtherContact = model.Contact.ContactText ?? string.Empty; } if (model.Contact.ContactTypeID.Value == 54) { contact.OtherContact = model.Contact.OtherContact ?? string.Empty; } if (model.Contact.ID != 0) { Repository.Contacts.Save(contact); } else { model.Contact.ID = Convert.ToInt32(Repository.Contacts.CreateContact(contact)); } if ((docview ?? String.Empty) == "yes") { return(DialogPageReturn("{0}{1}{2}".FormatWith( model.Contact.ID, "\u001F", StringExtensions.Coalesco(model.Contact.ContactText, model.Contact.OtherContact) ))); } return(ReturnDialogValue(model.Contact)); }