public static ResultadoTransaccion GuardaActividad(LogActividadUsuarios log) { ResultadoTransaccion res = new ResultadoTransaccion(); SqlConnection conn = BaseDatos.NuevaConexion(); try { objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_N_LOG_ACTIVIDAD_USUARIO"); objParams[0].Value = log.Entidad; objParams[1].Value = log.IdEntidad; objParams[2].Value = log.Actividad; objParams[3].Value = log.Usuario.Id; SqlCommand command3 = new SqlCommand("SP_N_LOG_ACTIVIDAD_USUARIO", conn); command3.Parameters.AddRange(objParams); command3.CommandType = CommandType.StoredProcedure; command3.ExecuteNonQuery(); res.Estado = Enums.EstadoTransaccion.Aceptada; } catch (Exception ex) { res.Estado = Enums.EstadoTransaccion.Rechazada; res.Descripcion = ex.Message; Log.EscribirLog(ex.Message); } finally { if (conn != null) { if (conn.State == ConnectionState.Open) { conn.Close(); } } } return(res); }
public static ResultadoTransaccion GuardarCuenta(clsCuenta cuenta) { resTransaccion = new ResultadoTransaccion(); Int64 idMaster = 0; Int64 idCuenta = 0; try { //Abrir Conexion conn = BaseDatos.Conexion(); //Crear Transaccion transaction = conn.BeginTransaction(); //Registrar Direcciones resTransaccion = clsDireccionADO.GuardarDirecciones(cuenta.ClienteMaster.DireccionInfo, conn, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } cuenta.ClienteMaster.DireccionInfo = (clsDireccionInfo)resTransaccion.ObjetoTransaccion; //Registrar Cliente Master resTransaccion = clsClienteMasterADO.GuardarClienteMaster(cuenta.ClienteMaster, conn, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } idMaster = (Int64)resTransaccion.ObjetoTransaccion; //Registrar Cuenta objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_N_CLIENTES_CUENTA"); objParams[0].Value = idMaster; if (cuenta.VendedorAsignado != null) { objParams[1].Value = cuenta.VendedorAsignado.Id; } else { objParams[1].Value = -1; } //if (cuenta.CustomerAsignado != null) // objParams[2].Value = cuenta.CustomerAsignado.Id; //else // objParams[2].Value = -1; objParams[2].Value = cuenta.Telefono; objParams[3].Value = cuenta.CuentaSkype; objParams[4].Value = cuenta.SitioWeb; objParams[5].Value = cuenta.Email; objParams[6].Value = cuenta.Estado; if (cuenta.ZonaVentas == null) { objParams[7].Value = -1; } else { objParams[7].Value = cuenta.ZonaVentas.Id; } if (cuenta.CategoriaCliente == null) { objParams[8].Value = -1; } else { objParams[8].Value = cuenta.CategoriaCliente.Id; } objParams[9].Value = cuenta.Observacion; if (cuenta.SectorEconomico != null) { objParams[10].Value = cuenta.SectorEconomico.Id; } else { objParams[10].Value = -1; } if (cuenta.TipoMonedaVtaEstimada != null) { objParams[11].Value = cuenta.TipoMonedaVtaEstimada.Id; } else { objParams[11].Value = -1; } objParams[12].Value = cuenta.MontoVentaEstimada; objParams[13].Value = cuenta.NumEmpleados; if (cuenta.UMMovimientoEstimado != null) { objParams[14].Value = cuenta.UMMovimientoEstimado.Id; } else { objParams[14].Value = -1; } objParams[15].Value = cuenta.MontoMovimientoEstimado; if (cuenta.FormaContactoPreferida != null) { objParams[16].Value = cuenta.FormaContactoPreferida.Id; } else { objParams[16].Value = -1; } objParams[17].Value = cuenta.PermiteTelOficina; objParams[18].Value = cuenta.PermiteTelParticular; objParams[19].Value = cuenta.PermiteTelCelular; objParams[20].Value = cuenta.PermiteSkype; objParams[21].Value = cuenta.PermiteEmail; objParams[22].Value = cuenta.PermiteEmailMasivo; if (cuenta.DiaPreferido == null) { objParams[23].Value = -1; } else { objParams[23].Value = cuenta.DiaPreferido.Id; } if (cuenta.JornadaPreferida == null) { objParams[24].Value = -1; } else { objParams[24].Value = cuenta.JornadaPreferida.Id; } objParams[25].Value = cuenta.AutorizadoAduana; if (cuenta.Clasificacion == null) { objParams[26].Value = -1; } else { objParams[26].Value = cuenta.Clasificacion.Id; } SqlCommand command2 = new SqlCommand("SP_N_CLIENTES_CUENTA", conn); command2.Transaction = transaction; command2.Parameters.AddRange(objParams); command2.CommandType = CommandType.StoredProcedure; idCuenta = Convert.ToInt64(command2.ExecuteScalar()); cuenta.Id = idCuenta; if (idMaster > 0) { //Productos preferidos //clsClienteMasterADO.BorrarProductos(idTarget, transaction,conn); foreach (var producto in cuenta.ClienteMaster.ProductosPreferidos) { clsClienteMasterADO.AsignarTipoProducto(producto, idMaster, transaction, conn); } //Tipos Relacion //clsClienteMasterADO.BorrarTipoRelacion(idMaster, transaction, conn); foreach (var relacion in cuenta.ClienteMaster.TiposRelaciones) { clsClienteMasterADO.AsignarTipoRelacion(relacion, idMaster, transaction, conn); } } //Ejecutar transaccion transaction.Commit(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; resTransaccion.Descripcion = "Se Creo Cuenta con Id " + idMaster.ToString(); //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(cuenta.GetType().ToString(), cuenta.Id, Enums.TipoActividadUsuario.Creo, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { transaction.Rollback(); Log.EscribirLog(ex.Message); resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; resTransaccion.ArchivoError = "clsCuentaADO"; resTransaccion.MetodoError = MethodBase.GetCurrentMethod().Name; } finally { conn.Close(); resTransaccion.Accion = Enums.AccionTransaccion.Insertar; cuenta.Id = idCuenta; cuenta.ClienteMaster.Id = idMaster; resTransaccion.ObjetoTransaccion = cuenta; } return(resTransaccion); }
public static ResultadoTransaccion EliminarCuenta(clsCuenta cuenta) { ResultadoTransaccion resTransaccion = new ResultadoTransaccion(); try { transaction = BaseDatos.Conexion().BeginTransaction(); //Eliminar Direcciones if (cuenta.ClienteMaster.DireccionInfo != null) { foreach (var direccion in cuenta.ClienteMaster.DireccionInfo.Items) { resTransaccion = new ResultadoTransaccion(); resTransaccion = clsDireccionADO.EliminarDireccion(direccion, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } } resTransaccion = new ResultadoTransaccion(); resTransaccion = clsDireccionADO.EliminarDireccionInfo(cuenta.ClienteMaster.DireccionInfo.IdInfo, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } } //Eliminar Tipos de Relacion resTransaccion = new ResultadoTransaccion(); resTransaccion = clsClienteMasterADO.BorrarTipoRelacion(cuenta.ClienteMaster.Id, transaction, conn); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } //Eliminar Tipos de Carga resTransaccion = new ResultadoTransaccion(); resTransaccion = clsClienteMasterADO.BorrarProductos(cuenta.ClienteMaster.Id, transaction, conn); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } //Eliminar Cliente Master resTransaccion = new ResultadoTransaccion(); resTransaccion = clsClienteMasterADO.EliminarClienteMaster(cuenta.ClienteMaster, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } //Eliminar Contactos IList <clsContacto> listContactos = new List <clsContacto>(); listContactos = clsClienteMasterADO.ListarContactos(cuenta.ClienteMaster); foreach (var contacto in listContactos) { resTransaccion = new ResultadoTransaccion(); resTransaccion = clsContactoADO.EliminarContacto(contacto, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } } //Eliminar Cuenta objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_E_CLIENTES_CUENTA"); objParams[0].Value = cuenta.Id; SqlCommand command = new SqlCommand("SP_E_CLIENTES_CUENTA", BaseDatos.Conexion()); command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; command.Transaction = transaction; command.ExecuteNonQuery(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; transaction.Commit(); //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(cuenta.GetType().ToString(), cuenta.Id, Enums.TipoActividadUsuario.Elimino, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { transaction.Rollback(); resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; Log.EscribirLog(ex.Message); } finally { BaseDatos.CerrarConexion(); } return(resTransaccion); }
public static ResultadoTransaccion ActualizarCuenta(clsCuenta cuenta) { resTransaccion = new ResultadoTransaccion(); try { //Abrir Conexion conn = BaseDatos.Conexion(); //Crear Transaccion transaction = conn.BeginTransaction(); //Registrar Direcciones resTransaccion = clsDireccionADO.GuardarDirecciones(cuenta.ClienteMaster.DireccionInfo, conn, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } cuenta.ClienteMaster.DireccionInfo = (clsDireccionInfo)resTransaccion.ObjetoTransaccion; //Actualizar Master resTransaccion = clsClienteMasterADO.ActualizarClienteMaster(cuenta.ClienteMaster, conn, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } //Actualizar Cuenta objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_A_CLIENTES_MASTER"); objParams[0].Value = cuenta.Id; objParams[1].Value = cuenta.ClienteMaster.Id; if (cuenta.VendedorAsignado != null) { objParams[2].Value = cuenta.VendedorAsignado.Id; } else { objParams[2].Value = -1; } //if (cuenta.CustomerAsignado != null) // objParams[3].Value = cuenta.CustomerAsignado.Id; //else // objParams[3].Value = -1; objParams[3].Value = cuenta.Telefono; objParams[4].Value = cuenta.CuentaSkype; objParams[5].Value = cuenta.SitioWeb; objParams[6].Value = cuenta.Email; objParams[7].Value = cuenta.Estado; if (cuenta.ZonaVentas != null) { objParams[8].Value = cuenta.ZonaVentas.Id; } else { objParams[8].Value = -1; } if (cuenta.CategoriaCliente != null) { objParams[9].Value = cuenta.CategoriaCliente.Id; } else { objParams[9].Value = -1; } objParams[10].Value = cuenta.Observacion; if (cuenta.SectorEconomico != null) { objParams[11].Value = cuenta.SectorEconomico.Id; } else { objParams[11].Value = -1; } if (cuenta.TipoMonedaVtaEstimada != null) { objParams[12].Value = cuenta.TipoMonedaVtaEstimada.Id; } else { objParams[12].Value = -1; } objParams[13].Value = cuenta.MontoVentaEstimada; objParams[14].Value = cuenta.NumEmpleados; if (cuenta.UMMovimientoEstimado != null) { objParams[15].Value = cuenta.UMMovimientoEstimado.Id; } else { objParams[15].Value = -1; } objParams[16].Value = cuenta.MontoMovimientoEstimado; if (cuenta.FormaContactoPreferida != null) { objParams[17].Value = cuenta.FormaContactoPreferida.Id; } else { objParams[17].Value = -1; } objParams[18].Value = cuenta.PermiteTelOficina; objParams[19].Value = cuenta.PermiteTelParticular; objParams[20].Value = cuenta.PermiteTelCelular; objParams[21].Value = cuenta.PermiteSkype; objParams[22].Value = cuenta.PermiteEmail; objParams[23].Value = cuenta.PermiteEmailMasivo; if (cuenta.DiaPreferido == null) { objParams[24].Value = -1; } else { objParams[24].Value = cuenta.DiaPreferido.Id; } if (cuenta.JornadaPreferida == null) { objParams[25].Value = -1; } else { objParams[25].Value = cuenta.JornadaPreferida.Id; } objParams[26].Value = cuenta.AutorizadoAduana; if (cuenta.Clasificacion == null) { objParams[27].Value = -1; } else { objParams[27].Value = cuenta.Clasificacion.Id; } objParams[28].Value = cuenta.TipoReciboAperturaEmbarcador; SqlCommand command2 = new SqlCommand("SP_A_CLIENTES_MASTER", conn, transaction); command2.Parameters.AddRange(objParams); command2.CommandType = CommandType.StoredProcedure; command2.ExecuteNonQuery(); //Productos preferidos foreach (var producto in cuenta.ClienteMaster.ProductosPreferidos) { if (producto.IsNew && !producto.IsDeleted) { clsClienteMasterADO.AsignarTipoProducto(producto, cuenta.ClienteMaster.Id, transaction, conn); } else if (!producto.IsNew && !producto.IsDeleted) { clsClienteMasterADO.ActualizarTipoProducto(producto, transaction, conn); } else if (producto.IsDeleted) { clsClienteMasterADO.BorrarProductosPorId(producto.Id, transaction, conn); } } //resTransaccion = clsClienteMasterADO.BorrarProductos(cuenta.ClienteMaster.Id, transaction, conn); //if (resTransaccion.Estado == Enums.EstadoTransaccion.Aceptada) //{ // foreach (var producto in cuenta.ClienteMaster.ProductosPreferidos) // { // clsClienteMasterADO.AsignarTipoProducto(producto, cuenta.ClienteMaster.Id, transaction, conn); // } //} //else // throw new Exception(resTransaccion.Descripcion); //Tipos Relacion resTransaccion = clsClienteMasterADO.BorrarTipoRelacion(cuenta.ClienteMaster.Id, transaction, conn); if (resTransaccion.Estado == Enums.EstadoTransaccion.Aceptada) { foreach (var relacion in cuenta.ClienteMaster.TiposRelaciones) { clsClienteMasterADO.AsignarTipoRelacion(relacion, cuenta.ClienteMaster.Id, transaction, conn); } } else { throw new Exception(resTransaccion.Descripcion); } //Condiciones comerciales //resTransaccion = clsCondicionComercialDAO.GuardaCondicionComercialCliente(cuenta.ClienteMaster, conn, // transaction); //if(resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) // throw new Exception(resTransaccion.Descripcion); //Ejecutar transaccion transaction.Commit(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; resTransaccion.Descripcion = "Se actualizo Cuenta con Id " + cuenta.Id.ToString(); //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(cuenta.GetType().ToString(), cuenta.Id, Enums.TipoActividadUsuario.Edito, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { transaction.Rollback(); Log.EscribirLog(ex.Message); resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; } finally { conn.Close(); resTransaccion.Accion = Enums.AccionTransaccion.Actualizar; resTransaccion.ObjetoTransaccion = cuenta; } return(resTransaccion); }
public static ResultadoTransaccion GuardarContacto(clsContacto contacto, Int64 idClienteMaster) { Int64 IdContacto = 0; resTransaccion = new ResultadoTransaccion(); try { //Abrir Conexion conn = BaseDatos.Conexion(); //Crear Transaccion transaction = conn.BeginTransaction(); //Registrar Direcciones resTransaccion = clsDireccionADO.GuardarDirecciones(contacto.DireccionInfo, conn, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } contacto.DireccionInfo = (clsDireccionInfo)resTransaccion.ObjetoTransaccion; //Registrar Contacto objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_N_CLIENTES_CONTACTO"); if (contacto.TipoSaludo != null) { objParams[0].Value = contacto.TipoSaludo.Id; } else { objParams[0].Value = -1; } objParams[1].Value = contacto.Nombre; objParams[2].Value = contacto.ApellidoPaterno; objParams[3].Value = contacto.ApellidoMaterno; objParams[4].Value = contacto.Cargo; objParams[5].Value = contacto.TelefonoOficina; objParams[6].Value = contacto.TelefonoParticular; objParams[7].Value = contacto.TelefonoCelular; objParams[8].Value = contacto.CuentaSkype; objParams[9].Value = contacto.Email; objParams[10].Value = contacto.Estado; objParams[11].Value = contacto.Observacion; if (contacto.Departamento == null) { objParams[12].Value = -1; } else { objParams[12].Value = contacto.Departamento.Id; } objParams[13].Value = contacto.NombreJefe; objParams[14].Value = contacto.TelefonoJefe; if (contacto.TipoRol == null) { objParams[15].Value = -1; } else { objParams[15].Value = contacto.TipoRol.Id; } objParams[16].Value = contacto.NombreAyudante; objParams[17].Value = contacto.TelefonoAyudante; objParams[18].Value = contacto.Cumpleaños; if (contacto.EstadoCivil == null) { objParams[19].Value = -1; } else { objParams[19].Value = contacto.EstadoCivil.Id; } if (contacto.Sexo == null) { objParams[20].Value = -1; } else { objParams[20].Value = contacto.Sexo.Id; } objParams[21].Value = contacto.NombrePareja; objParams[22].Value = contacto.FechaAniversario; objParams[23].Value = contacto.RegaloPreferido; if (contacto.FormaContactoPreferida == null) { objParams[24].Value = -1; } else { objParams[24].Value = contacto.FormaContactoPreferida.Id; } objParams[25].Value = contacto.PermiteTelOficina; objParams[26].Value = contacto.PermiteTelParticular; objParams[27].Value = contacto.PermiteTelCelular; objParams[28].Value = contacto.PermiteSkype; objParams[29].Value = contacto.PermiteEmail; objParams[30].Value = contacto.PermiteEmailMasivo; if (contacto.DiaPreferido == null) { objParams[31].Value = -1; } else { objParams[31].Value = contacto.DiaPreferido.Id; } if (contacto.JornadaPreferida == null) { objParams[32].Value = -1; } else { objParams[32].Value = contacto.JornadaPreferida.Id; } objParams[33].Value = contacto.EsPrincipal; if (contacto.DireccionInfo == null || contacto.DireccionInfo.IdInfo == 0) { objParams[34].Value = -1; } else { objParams[34].Value = contacto.DireccionInfo.IdInfo; } objParams[35].Value = contacto.Propietario.Id; objParams[36].Value = idClienteMaster; SqlCommand command2 = new SqlCommand("SP_N_CLIENTES_CONTACTO", conn); command2.Transaction = transaction; command2.Parameters.AddRange(objParams); command2.CommandType = CommandType.StoredProcedure; IdContacto = Convert.ToInt64(command2.ExecuteScalar()); contacto.Id = IdContacto; //resTransaccion = GuardarClienteContactoRelacionado(idClienteMaster, IdContacto, conn, transaction); //if(resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) // throw new Exception(resTransaccion.Descripcion); //Ejecutar transaccion transaction.Commit(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; resTransaccion.Descripcion = "Se Creo Cuenta con Id " + contacto.ToString(); //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(contacto.GetType().ToString(), contacto.Id, Enums.TipoActividadUsuario.Creo, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { transaction.Rollback(); Log.EscribirLog(ex.Message); resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; resTransaccion.ArchivoError = "clsTargetDao.cs"; resTransaccion.MetodoError = "GuardaTarget"; } finally { conn.Close(); resTransaccion.Accion = Enums.AccionTransaccion.Insertar; contacto.Id = IdContacto; resTransaccion.ObjetoTransaccion = contacto; } return(resTransaccion); }
public static ResultadoTransaccion EliminarContacto(clsContacto contacto, SqlTransaction transaction) { bool ejecutaCommit = false; ResultadoTransaccion resTransaccion = new ResultadoTransaccion(); try { if (transaction == null) { transaction = BaseDatos.Conexion().BeginTransaction(); ejecutaCommit = true; } //Eliminar Direcciones Contacto if (contacto.DireccionInfo != null) { foreach (var direccion in contacto.DireccionInfo.Items) { resTransaccion = new ResultadoTransaccion(); resTransaccion = clsDireccionADO.EliminarDireccion(direccion, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) { throw new Exception(resTransaccion.Descripcion); } } } //Eliminar Contacto objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_E_CLIENTES_CONTACTO"); objParams[0].Value = contacto.Id; SqlCommand command = new SqlCommand("SP_E_CLIENTES_CONTACTO", BaseDatos.Conexion()); command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; command.Transaction = transaction; command.ExecuteNonQuery(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; if (ejecutaCommit) { transaction.Commit(); } //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(contacto.GetType().ToString(), contacto.Id, Enums.TipoActividadUsuario.Elimino, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { if (ejecutaCommit) { transaction.Rollback(); } resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; Log.EscribirLog(ex.Message); } return(resTransaccion); }