public static CarrierContact Save(CarrierContact carrierContact) { DbContextHelper.DbContext.Add(carrierContact); DbContextHelper.DbContext.SaveChanges(); return(carrierContact); }
public static void Delete(int id) { // Create an entity to represent the Entity you wish to delete // Notice you don't need to know all the properties, in this // case just the ID will do. CarrierContact carrierContact = new CarrierContact { CarrierContactID = id }; // Now attach the category stub object to the "Categories" set. // This puts the Entity into the context in the unchanged state, // This is same state it would have had if you made the query DbContextHelper.DbContext.AttachTo("CarrierContacts", carrierContact); // Do the delete the category DbContextHelper.DbContext.DeleteObject(carrierContact); // Apply the delete to the database DbContextHelper.DbContext.SaveChanges(); }
public static string AddEditCarrier(CarrierVm carrVm) { int carrId = carrVm.CarrierId; string isSaved = "true"; EasyFreightEntities db = new EasyFreightEntities(); Carrier carrDb; List <CarrierContact> dbContactList = new List <CarrierContact>(); if (carrId == 0) //Add new case { carrDb = new Carrier(); } else { carrDb = db.Carriers.Include("CarrierContacts").Where(x => x.CarrierId == carrId).FirstOrDefault(); //delete any removed contact on the screen dbContactList = carrDb.CarrierContacts.ToList(); //Get contact Ids sent from the screen List <int> contactVmIds = carrVm.ContactPersons.Select(x => x.ContactId).ToList(); var contactDel = dbContactList.Where(x => !contactVmIds.Contains(x.ContactId)).ToList(); foreach (var item in contactDel) { db.CarrierContacts.Remove(item); } } Mapper.CreateMap <CarrierVm, Carrier>().IgnoreAllNonExisting(); Mapper.Map(carrVm, carrDb); if (carrId == 0) { Random rand = new Random(); carrDb.CarrierCode = rand.Next(10000).ToString(); db.Carriers.Add(carrDb); } Mapper.CreateMap <ContactPersonVm, CarrierContact>().IgnoreAllNonExisting() .ForMember(x => x.CarrierId, opts => opts.MapFrom(scr => scr.FkValue)); CarrierContact carrContactDb; foreach (var item in carrVm.ContactPersons.Where(x => !string.IsNullOrEmpty(x.ContactName))) { if (item.ContactId == 0) { carrContactDb = new CarrierContact(); } else { int contVmId = item.ContactId; carrContactDb = dbContactList.Where(x => x.ContactId == contVmId).FirstOrDefault(); } Mapper.Map(item, carrContactDb); if (item.ContactId == 0) { carrDb.CarrierContacts.Add(carrContactDb); } } try { db.SaveChanges(); } catch (DbEntityValidationException e) { isSaved = "false " + e.Message; } catch (Exception e) { isSaved = "false " + e.Message; } return(isSaved); }
protected void saveContact() { bool isNewContact = false; int contactID = Convert.ToInt32(ViewState["ContactID"]); lblMessage.Text = string.Empty; lblMessage.CssClass = string.Empty; Contact contact = null; CarrierContact carrierContact = null; if (contactID == 0) { // new contact contact = new Contact(); contact.ClientID = Core.SessionHelper.getClientId(); contact.CarrierID = carrierID; contact.CompanyName = CarrierManager.GetName(this.carrierID); isNewContact = true; } else { contact = ContactManager.Get(contactID); } contact.FirstName = txtFirstName.Text; contact.LastName = txtLastName.Text; contact.ContactName = txtFirstName.Text + " " + txtLastName.Text; contact.Email = txtContactEmail.Text; contact.Phone = txtContactPhone.Text; contact.Mobile = txtMobilePhone.Text; contact.ContactTitle = txtContactTile.Text; contact.DepartmentName = txtDepartmentName.Text; contact.IsPrimary = cbxPrimary.Checked; contact.Fax = txtContactFax.Text; contact.Address1 = txtAddress1.Text; contact.Address2 = txtAddress2.Text; if (ddlState.SelectedIndex > 0) { contact.StateID = Convert.ToInt32(ddlState.SelectedValue); } if (ddlCity.SelectedIndex > 0) { contact.CityID = Convert.ToInt32(ddlCity.SelectedValue); } if (ddlLossZip.SelectedIndex > 0) { contact.ZipCodeID = Convert.ToInt32(ddlLossZip.SelectedValue); } if (ddlContactType.SelectedIndex > 0) { contact.CategoryID = Convert.ToInt32(ddlContactType.SelectedValue); } try { if (isNewContact) { using (TransactionScope scope = new TransactionScope()) { // save contact to contact table contact = ContactManager.Save(contact); carrierContact = new CarrierContact(); carrierContact.CarrierID = carrierID; carrierContact.ContactID = contact.ContactID; // save contact reference for carrier carrierContact = CarrierContactManager.Save(carrierContact); // complete transaction scope.Complete(); } ViewState["ContactID"] = contact.ContactID; } else { // save contact to contact table contact = ContactManager.Save(contact); } lblMessage.Text = "Contact saved successfully."; lblMessage.CssClass = "ok"; btnShowCreateAccount.Visible = true; } catch (Exception ex) { lblMessage.Text = "Unable to save contact."; lblMessage.CssClass = "error"; Core.EmailHelper.emailError(ex); } }