public FrmABMInsertUpdateCliente(Cliente cliente) { InitializeComponent(); _abmCliente = false; insertMode = cliente == null; if (!insertMode) CurrentCliente = cliente; }
public static Cliente UpdateClient(Cliente client) { var param = new List<SPParameter> { new SPParameter("ID_Usuario", client.IdUsuario), new SPParameter("Nombre", client.Nombre), new SPParameter("Apellido", client.Apellido), new SPParameter("ID_Tipo_Documento", client.TipoDocumento), new SPParameter("Nro_Documento", client.NroDocumento), new SPParameter("Mail", client.Mail), new SPParameter("Telefono", client.Telefono), new SPParameter("Direccion", client.Direccion), new SPParameter("Codigo_Postal", client.CodigoPostal), new SPParameter("Fecha_Nacimiento", client.FechaNacimiento), new SPParameter("CUIL", client.CUIL) }; var sp = new StoreProcedure(DataBaseConst.Cliente.SPUpdateClient, param); client.ID = (int)sp.ExecuteNonQuery(null); return client; }
private void LblGrabar_Click(object sender, EventArgs e) { try { #region Validaciones var exceptionMessage = string.Empty; if (string.IsNullOrEmpty(TxtNombre.Text)) exceptionMessage += "El nombre del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtApellido.Text)) exceptionMessage += "El apellido del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(CboTipoDocumento.Text)) exceptionMessage += "El tipo de documento del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtDocumento.Text)) exceptionMessage += "El número de documento del cliente no puede ser vacío.\n"; else { int nroDoc; if (!int.TryParse(TxtDocumento.Text, out nroDoc)) exceptionMessage += "El número de documento del cliente no es válido.\n"; } if (string.IsNullOrEmpty(TxtMail.Text)) exceptionMessage += "El mail del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtTelefono.Text)) exceptionMessage += "El teléfono del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtDireccion.Text)) exceptionMessage += "La dirección del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtCodigoPostal.Text)) exceptionMessage += "El código postal del cliente no puede ser vacío.\n"; if (string.IsNullOrEmpty(TxtCuil.Text)) exceptionMessage += "El CUIL del cliente no puede ser vacío.\n"; else { if (!TypesHelper.IsCUITValid(TxtCuil.Text)) exceptionMessage += Environment.NewLine + "El CUIL no es válido.\n"; } if (!string.IsNullOrEmpty(exceptionMessage)) throw new Exception(exceptionMessage); #endregion if (insertMode) { //Valido que no se dupliquen los telefonos ni documentos if (ClientePersistance.GetByPhone(TxtTelefono.Text, this.currentTransaction) != null) throw new Exception("Ya existe un cliente con el teléfono ingresado."); if (ClientePersistance.GetByDocument((int)CboTipoDocumento.SelectedValue, Int32.Parse(TxtDocumento.Text), this.currentTransaction) != null) throw new Exception("Ya existe un cliente con el tipo y número de documento ingresados."); #region Inserto el nuevo cliente var client = new Cliente(); client.IdUsuario = SessionManager.CurrentUser.ID; client.Nombre = TxtNombre.Text; client.Apellido = TxtApellido.Text; client.TipoDocumento = (int)CboTipoDocumento.SelectedValue; client.NroDocumento = Int32.Parse(TxtDocumento.Text); client.Mail = TxtMail.Text; client.Telefono = TxtTelefono.Text; client.Direccion = TxtDireccion.Text; client.CodigoPostal = TxtCodigoPostal.Text; client.CUIL = TxtCuil.Text; client.FechaNacimiento = DtpFechaNacimiento.Value; var dialogAnswer = MessageBox.Show("¿Está seguro que quiere insertar el nuevo cliente?", "Atencion", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { //Si es el administrador el que hace el Alta, se genera un usuario con password temporal if (insertDefaultUser) { var user = new Usuario(); user.Username = client.NroDocumento.ToString(); user.Password = SHA256Helper.Encode("temporal"); var userIngresado = UsuarioPersistance.InsertUserTemporal(user, this.currentTransaction); client.IdUsuario = userIngresado.ID; ClientePersistance.InsertClient(client, this.currentTransaction); this.currentTransaction.Commit(); var rol = RolPersistance.GetByName("Cliente"); RolPersistance.InsertUserRole(userIngresado, rol, null); } else { ClientePersistance.InsertClient(client, this.currentTransaction); this.currentTransaction.Commit(); } MessageBox.Show("El Cliente ha sido ingresado con éxito." , "Atención!"); this.Hide(); if (!_abmCliente) { var frmHome = new FrmHome(); frmHome.ShowDialog(); } } #endregion } else { if (TxtTelefono.Text != CurrentCliente.Telefono) { if (ClientePersistance.GetByPhone(TxtTelefono.Text, this.currentTransaction) != null) throw new Exception("Ya existe un cliente con el teléfono ingresado."); } var client = new Cliente(); client.IdUsuario = CurrentCliente.IdUsuario; client.Nombre = TxtNombre.Text; client.Apellido = TxtApellido.Text; client.TipoDocumento = (int)CboTipoDocumento.SelectedValue; client.NroDocumento = Convert.ToInt32(TxtDocumento.Text); client.Mail = TxtMail.Text; client.Telefono = TxtTelefono.Text; client.Direccion = TxtDireccion.Text; client.CodigoPostal = TxtCodigoPostal.Text; client.CUIL = TxtCuil.Text; client.FechaNacimiento = DtpFechaNacimiento.Value; var dialogAnswer = MessageBox.Show("¿Está seguro que quiere modificar el cliente?", "Atención", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { ClientePersistance.UpdateClient(client); CompleteAction = true; this.Hide(); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); } }
public static Cliente InsertClient(Cliente client, SqlTransaction transaction) { var param = new List<SPParameter> { new SPParameter("ID_Usuario", client.IdUsuario), new SPParameter("Nombre", client.Nombre), new SPParameter("Apellido", client.Apellido), new SPParameter("ID_Tipo_documento", client.TipoDocumento), new SPParameter("Nro_documento", client.NroDocumento), new SPParameter("Mail", client.Mail), new SPParameter("Telefono", client.Telefono), new SPParameter("Direccion", client.Direccion), new SPParameter("Codigo_Postal", client.CodigoPostal), new SPParameter("Fecha_nacimiento", client.FechaNacimiento), new SPParameter("CUIL", client.CUIL) }; var sp = (transaction != null) ? new StoreProcedure(DataBaseConst.Cliente.SPInsertClient, param, transaction) : new StoreProcedure(DataBaseConst.Cliente.SPInsertClient, param); client.ID = (int)sp.ExecuteScalar(transaction); return client; }