Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }