/// <summary> /// Update ClienteVM to ClienteDB /// </summary> /// <param name="ClinteVM">Generate ClienteVM in View</param> public void Update(Modelos.Cliente.ClienteViewModel ClienteVM) { var ClienteDB = db.clientes.FirstOrDefault(x => x.id == ClienteVM.id); //Busco al cliente a modificar db.Entry(ClienteDB).CurrentValues.SetValues(ClienteVM.MapOut()); db.SaveChanges(); }
/// <summary> /// Delete ClienteVM to ClienteDB /// </summary> /// <param name="ClienteVM">Generate ClienteVM in View</param> public void Delete(int id) { //var ClienteDB = db.clientes.FirstOrDefault(x => x.id == id);// Descomentar si lo queres hacer definitivo //db.clientes.Remove(ClienteDB); // Descomentar si lo queres hacer definitivo //db.SaveChanges(); // Descomentar si lo queres hacer definitivo var ClienteVM = new Modelos.Cliente.ClienteViewModel(db.clientes.FirstOrDefault(x => x.id == id)); //Comentar si queres hacer definitivo ClienteVM.id_estado = db.estados.FirstOrDefault(x => x.nombre == "ELIMINADO").id; //Comentar si queres hacer definitivo Update(ClienteVM); //Comentar si queres hacer definitivo }
//Casi hecho, te dejo la magia de completar el combobox jaja private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { idCliente = Convert.ToInt32(dataGridView1.CurrentRow.Cells["Id"].Value); Modelos.Cliente.ClienteViewModel ClienteVM = new Modelos.Cliente.ClienteViewModel(); Controladores.ClienteControllers ClienteC = new Controladores.ClienteControllers(); ClienteVM = ClienteC.Get(idCliente); txtNombre.Text = ClienteVM.nombre; txtApellido.Text = ClienteVM.apellido; var papa = ClienteC.Get(ClienteVM.id); }
/// <summary> /// Creo este metodo para que sea llamado para 3 diferentes funcion /// Add y update. los 2 van a hacer lo mismo, Evitamos duplicar codigo al pedo =) /// </summary> /// <param name="estado">Dependiendo desde lo llamemos, le pasamos el estado</param> /// <returns></returns> /// private Modelos.Cliente.ClienteViewModel CreateCliente(string estado) { Modelos.Cliente.ClienteViewModel clienteModel = new Modelos.Cliente.ClienteViewModel(); clienteModel.id = idCliente; clienteModel.nombre = txtNombre.Text; clienteModel.apellido = txtApellido.Text; clienteModel.id_tipoDoc = ((Modelos.TipoDocumento.TipoDocumentoViewModel)cmbTipoDoc.SelectedValue).id; clienteModel.nro_doc = int.Parse(txtNroDoc.Text);//Hay que asegurar que solo se ingrese numero, sino se rompe //Si completas un numero de cuil 20345678765, El programa rompe. //Opciones cambiar el tipo a string, o poner mas grande el tamaño del numero clienteModel.id_tipoCliente = ((Modelos.TipoCliente.TipoClienteViewModel)cmbTipoCliente.SelectedValue).id; clienteModel.id_localidad = ((Modelos.Localidades.LocalidadesViewModel)cmbLocalidad.SelectedValue).ID; clienteModel.cp = int.Parse(txtCodigoPostal.Text); clienteModel.domicilio = txtDomicilio.Text; clienteModel.telefono = txtTelefono.Text; clienteModel.mail = txtMail.Text; Controladores.EstadosController estadoController = new Controladores.EstadosController(); clienteModel.id_estado = estadoController.GetId(estado);//Lo hablado para obtenerlo bien return(clienteModel); }
/// <summary> /// ADD Cliente. I do mapping ClienteVM to ClienteDB /// </summary> /// <param name="ClienteVM">receive CLIENTE VIEWMODEL</param> public void Add(Modelos.Cliente.ClienteViewModel ClienteVM) { db.clientes.Add(ClienteVM.MapOut()); db.SaveChanges(); }