public static ResultadoTransaccion GuardarFollowUps(CotizacionDirecta cotizacionDirecta) { var followDataBqse = clsClienteMasterADO.ObtenerFollowUpClientePorIDCotizacion(cotizacionDirecta.Id32); // return ClsCotizacionDirectaDao.GuardarFollowups(followDataBqse, cotizacionDirecta); return ClsCotizacionDirectaDao.GuardarFollowUps(followDataBqse,cotizacionDirecta); }
public static void CrearGastosLocales(CotizacionDirecta cotizacionDirecta, SqlCommand command) { try { if (cotizacionDirecta.GastosLocalesList == null) cotizacionDirecta.GastosLocalesList = new List<GastoLocal>(); foreach (var o in cotizacionDirecta.GastosLocalesList) { var com = command.Connection.CreateCommand(); com.Transaction = command.Transaction; com.CommandText = "SP_N_COTIZACION_DIRECTA_GASTOS_LOCALES"; com.CommandType = CommandType.StoredProcedure; com.Parameters.AddWithValue("@IdCotizacion", cotizacionDirecta.Id32); if (!String.IsNullOrEmpty(o.Descripcion)) com.Parameters.AddWithValue("@descripcion", o.Descripcion); else com.Parameters.AddWithValue("@descripcion", DBNull.Value); com.Parameters.AddWithValue("@monto", o.Monto); var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt); outParam.Direction = ParameterDirection.Output; com.ExecuteScalar(); o.Id = Convert.ToInt16(outParam.Value); o.Id32 = Convert.ToInt32(outParam.Value); } return; } catch (Exception e) { throw e; } }
private static LogCotizacionesDirecta CreaLog(CotizacionDirecta cotizacionDirecta, EnumTipoLogCotizacionDirecta tipo) { var logCot = new LogCotizacionesDirecta { CotizacionDirecta = cotizacionDirecta, Usuario = Base.Usuario.UsuarioConectado.Usuario, Fecha = DateTime.Now, Tipo = tipo }; return logCot; }
public static ResultadoTransaccion Eliminar(CotizacionDirecta cotizacionDirecta, SqlCommand command) { try { var com = command.Connection.CreateCommand(); com.Transaction = command.Transaction; com.CommandText = "SP_E_COTIZACION_DIRECTA_GASTOS_LOCALES_POR_ID_COTIZACION"; com.CommandType = CommandType.StoredProcedure; com.Parameters.AddWithValue("@IdCotizacion", cotizacionDirecta.Id32); com.CommandType = CommandType.StoredProcedure; com.ExecuteNonQuery(); return new ResultadoTransaccion(); } catch (Exception e) { throw e; } }
public static ResultadoTransaccion Modificar(CotizacionDirecta cotizacionDirecta) { var resultado = ClsCotizacionDirectaDao.Modificar(cotizacionDirecta); var log = CreaLog(cotizacionDirecta, EnumTipoLogCotizacionDirecta.Modificacion); return resultado; }
private void CargarCotizacionDirecta() { if (mode != "borrador") { CotizacionDirecta = ClsCotizacionDirecta.ObtieneCotizacionDirecta(CotizacionDirecta.Id32).ObjetoTransaccion as CotizacionDirecta; Text = "Ingreso de cotización "; } else { Text = "Copia de cotización "; LblEstado.Visible = labelControl11.Visible = false; } txtEjecutivo.Text = CotizacionDirecta.Usuario.NombreCompleto; TxtFecha.DateTime = CotizacionDirecta.FechaSolicitud; var encontrado_cliente = _clientes.Find(foo => CotizacionDirecta.Cliente.Id32 == foo.Id32); if (encontrado_cliente == null) { _clientes.Add(CotizacionDirecta.Cliente); CboCliente.Properties.Items.Add(CotizacionDirecta.Cliente); } CboCliente.SelectedItem = CotizacionDirecta.Cliente; txtCommodity.Text = CotizacionDirecta.Commodity; TxtObservaciones.Text = CotizacionDirecta.Observaciones; LblEstado.Text = CotizacionDirecta.EstadoDescripcion; GridGastosLocales.DataSource = CotizacionDirecta.GastosLocalesList; if (mode != "borrador") if (CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.Cerrado || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.PerdidoOtros || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.PerdidoTarifa || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.CerradoLCL) { toolStripButton1.Enabled = false; toolStripButton1.ToolTipText = "Imposible modificar cotización en el Estado actual"; } if (CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.Eliminado) { toolStripButton1.Enabled = false; toolStripButton1.ToolTipText = "Imposible modificar cotización en el Estado actual"; } }
private static ResultadoTransaccion Guardar(CotizacionDirecta cotizacionDirecta, Comentario comentario) { return ClsComentarioDao.Guardar(cotizacionDirecta, comentario); }
public static ResultadoTransaccion Modificar(CotizacionDirecta cotizacionDirecta) { var Res = new ResultadoTransaccion(); SqlTransaction trans = null; var cotizacionDB = ObtieneCotizacionDirecta(cotizacionDirecta.Id32).ObjetoTransaccion as CotizacionDirecta; //Abrir Conexion var conn = BaseDatos.Conexion(); try { SqlCommand command = new SqlCommand("SP_A_COTIZACION_SOLICITUD_COTIZACIONES", conn); command.Transaction = conn.BeginTransaction(); trans = command.Transaction; command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@id", cotizacionDirecta.Id32); command.Parameters.AddWithValue("@Producto", cotizacionDirecta.Producto); command.Parameters.AddWithValue("@idUsuario", cotizacionDirecta.Usuario.Id32); command.Parameters.AddWithValue("@idCliente", cotizacionDirecta.Cliente.Id32); command.Parameters.AddWithValue("@nombreCliente", cotizacionDirecta.NombreCliente); command.Parameters.AddWithValue("@fechaSolicitud", cotizacionDirecta.FechaSolicitud); command.Parameters.AddWithValue("@idIncoterms", cotizacionDirecta.IncoTerm.Id32); command.Parameters.AddWithValue("@commodity", cotizacionDirecta.Commodity); command.Parameters.AddWithValue("@puertoEmbarque", ""); command.Parameters.AddWithValue("@navieraReferencia", ""); command.Parameters.AddWithValue("@tarifaReferencia", ""); command.Parameters.AddWithValue("@Observaciones", cotizacionDirecta.Observaciones); command.Parameters.AddWithValue("@mercaderia", ""); command.Parameters.AddWithValue("@gastosLocales", cotizacionDirecta.GastosLocales); command.Parameters.AddWithValue("@proveedorCarga", ""); command.Parameters.AddWithValue("@credito", ""); command.Parameters.AddWithValue("@fechaEstimadaEmbarque", ""); command.Parameters.AddWithValue("@conAgenciamento", false); command.CommandType = CommandType.StoredProcedure; command.ExecuteScalar(); ModificarOpciones(cotizacionDirecta, command); //Marcamos las opciones que el usuario marco para borrar. foreach (var opcion in cotizacionDB.Opciones) { var op = cotizacionDirecta.Opciones.Find(foo => foo.Id32 == opcion.Id32); if (op == null) EliminaOpcion(opcion, command); } ClsGastosLocalesDao.Eliminar(cotizacionDirecta, command); ClsGastosLocalesDao.CrearGastosLocales(cotizacionDirecta, command); //Ejecutar transaccion trans.Commit(); Res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Aceptada; Res.Descripcion = "Se modificó la cotización correctamente"; } catch (Exception ex) { if (trans != null) trans.Rollback(); Log.EscribirLog(ex.Message); Res.Descripcion = ex.Message; Res.ArchivoError = NombreClase; Res.MetodoError = MethodBase.GetCurrentMethod().Name; } finally { conn.Close(); } return Res; }
public static ResultadoTransaccion Guardar(CotizacionDirecta cotizacionDirecta, Comentario comentario) { return Guardar("SP_N_COTIZACION_COMENTARIOS", cotizacionDirecta.Id32, comentario); }
private ITableable CreaPadreDesdeUnHijo(List<ITableableOpcion> op, ITableable padre) { //ListCotizacionesSeleccionadas.Add(padre); var papa = new CotizacionDirecta(); papa.Id = papa.Id32 = padre.Id32; papa.Usuario = padre.Usuario; papa.Producto = padre.Producto; papa.Cliente = padre.Cliente; papa.FechaSolicitud = padre.FechaSolicitud; papa.IncoTerm = padre.IncoTerm; papa.Estado = padre.Estado; papa.Seleccionado = padre.Seleccionado; foreach (var tableableOpcion in op) { papa.Opciones.Add((Opcion)tableableOpcion); } return papa; }
private static void ModificarOpcion(CotizacionDirecta cotizacionDirecta, Opcion o, SqlCommand command) { var com = command.Connection.CreateCommand(); com.Transaction = command.Transaction; com.CommandText = "SP_A_COTIZACION_DIRECTA_OPCIONES"; com.CommandType = CommandType.StoredProcedure; com.Parameters.AddWithValue("@id", o.Id32); com.Parameters.AddWithValue("@numero", o.Numero); com.Parameters.AddWithValue("@fechaValidezInicio", o.FechaValidezInicio); com.Parameters.AddWithValue("@fechaValidezFin", o.FechaValidezFin); com.Parameters.AddWithValue("@Naviera", o.Naviera.Id32); com.Parameters.AddWithValue("@TiempoTransito", o.TiempoTransito); com.Parameters.AddWithValue("@idUsuario", o.Usuario.Id32); com.Parameters.AddWithValue("@idTipoServicio", o.TiposServicio.Id32); if (o.TipoVia != null) com.Parameters.AddWithValue("@idTipoVia", o.TipoVia.Id32); else com.Parameters.AddWithValue("@idTipoVia", DBNull.Value); com.CommandType = CommandType.StoredProcedure; com.ExecuteScalar(); ModificarDetalle(o, command); ModificarRelacionPuertos(o, command); }
private static CotizacionDirecta GetFromDataReader(IDataRecord reader) { try { var i = new CotizacionDirecta(); i.Id = i.Id32 = Convert.ToInt32(reader["CSC_ID"]); //num solicitud i.FechaSolicitud = Convert.ToDateTime(reader["fechasolicitud"]); //fecha solicitud //traer la clase cliente completa i.Cliente = GetClienteFromDataReader(reader); //i.Cliente = clsClienteMasterADO.ObtenerClienteMasterPorId(Convert.ToInt64(reader["idcliente"])); i.IncoTerm = new clsIncoTerm(); if (!string.IsNullOrEmpty(reader["proveedorCarga"].ToString())) i.ProveedorCarga = reader["proveedorCarga"].ToString(); //i.//Tipo i.Estado = new Estado(); i.Estado.Id = Convert.ToInt32(reader["cotizacion_directa_estados_id"]); //Estado i.Opciones = new List<Opcion>(); i.Usuario = new clsUsuario(); i.Usuario.Id = i.Usuario.Id32 = Convert.ToInt32(reader["usuario_id"]); i.Usuario.Nombre = reader["usuario_nombres"].ToString(); i.Usuario.ApellidoPaterno = reader["usuario_ApellidoPaterno"].ToString(); i.Usuario.ApellidoMaterno = reader["usuario_ApellidoMaterno"].ToString(); i.Usuario.NombreUsuario = reader["usuario_NombreUsuario"].ToString(); if (!String.IsNullOrEmpty(reader["NextFollowUp"].ToString())) i.NextFollowup = Convert.ToDateTime(reader["NextFollowUp"]); foreach (var estado in estados) { if (estado.Id.Equals(i.Estado.Id)) { i.Estado.Nombre = estado.Nombre; i.Estado.Activo = estado.Activo; } } return i; } catch (Exception ex) { Log.EscribirLog(ex.Message); //throw; return null; } }
private static CotizacionDirecta GetFromComnpleteDataReader(IDataRecord reader) { try { var cot = new CotizacionDirecta(); cot.Id = cot.Id32 = Convert.ToInt32(reader["id"]); cot.Producto = reader["producto"].ToString(); cot.Usuario = Usuarios.clsUsuarioADO.ObtenerTransaccionUsuarioPorId(Convert.ToInt32(reader["idUsuario"])). ObjetoTransaccion as clsUsuario; cot.Cliente = new clsClienteMaster(true); cot.Cliente = clsClienteMasterADO.ObtenerClienteMasterPorId(Convert.ToInt64(reader["idcliente"])); cot.NombreCliente = reader["nombreCliente"].ToString(); cot.FechaSolicitud = Convert.ToDateTime(reader["fechaSolicitud"]); //fecha solicitud cot.IncoTerm = new clsIncoTerm(); cot.IncoTerm = Parametros.clsParametrosClientesDAO.ObtenerIncoTermPorId(Convert.ToInt16(reader["idincoterms"])); cot.Commodity = reader["commodity"].ToString(); cot.GastosLocales = 0; if (!String.IsNullOrEmpty(reader["gastosLocales"].ToString())) cot.GastosLocales = Convert.ToDecimal(reader["gastosLocales"]); cot.Observaciones = reader["Observaciones"].ToString(); cot.ObservacionesFijas = reader["ObservacionesFijas"].ToString(); if (!string.IsNullOrEmpty(reader["copiadode"].ToString())) cot.CopiadoDe = Convert.ToInt32(reader["copiadode"]); var listEstados = (List<Estado>)ClsCotizacionDirectaEstadoDao.ListarEstadosCotizacionDirecta().ObjetoTransaccion; cot.Estado = listEstados.Find(estado => estado.Id == Convert.ToInt32(reader["COTIZACION_Directa_ESTADOS_id"])); cot.GastosLocalesList = ClsGastosLocalesDao.ObtieneGastosLocales(cot.Id32).ObjetoTransaccion as List<GastoLocal>; cot.Opciones = ClsOpcionDao.ObtieneOpciones(cot.Id32).ObjetoTransaccion as List<Opcion>; return cot; } catch (Exception ex) { Log.EscribirLog(ex.Message); //throw; return null; } }
private static void CrearOpcion(CotizacionDirecta cotizacionDirecta, Opcion o, SqlCommand command) { var com = command.Connection.CreateCommand(); com.Transaction = command.Transaction; com.CommandText = "SP_N_COTIZACION_DIRECTA_OPCIONES"; com.CommandType = CommandType.StoredProcedure; com.Parameters.AddWithValue("@numero", o.Numero); com.Parameters.AddWithValue("@fechaValidezInicio", o.FechaValidezInicio); com.Parameters.AddWithValue("@fechaValidezFin", o.FechaValidezFin); com.Parameters.AddWithValue("@Naviera", o.Naviera.Id32); com.Parameters.AddWithValue("@TiempoTransito", o.TiempoTransito); com.Parameters.AddWithValue("@idUsuario", o.Usuario.Id32); com.Parameters.AddWithValue("@COTIZACION_SOLICITUD_COTIZACIONES_id", cotizacionDirecta.Id32); com.Parameters.AddWithValue("@idTipoServicio", o.TiposServicio.Id32); if (o.TipoVia != null) com.Parameters.AddWithValue("@idTipoVia", o.TipoVia.Id32); else com.Parameters.AddWithValue("@idTipoVia", null); com.CommandType = CommandType.StoredProcedure; var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt); outParam.Direction = ParameterDirection.Output; com.ExecuteScalar(); o.Id = Convert.ToInt16(outParam.Value); o.Id32 = Convert.ToInt32(outParam.Value); CrearRelacionPuertos(o, com); CrearOpcionDetalles(o, com); }
public static ResultadoTransaccion ModificarOpciones(CotizacionDirecta cotizacionDirecta, SqlCommand command) { var num = 1; try { foreach (var o in cotizacionDirecta.Opciones) { if (o.IsNew == false) { ModificarOpcion(cotizacionDirecta, o, command); } else { o.Numero = String.Format("{0:d4}-{1:d4}", cotizacionDirecta.Id32, num); CrearOpcion(cotizacionDirecta, o, command); } num++; } return new ResultadoTransaccion(); } catch (Exception e) { throw e; } }
public static ResultadoTransaccion Crear(CotizacionDirecta cotizacionDirecta) { ResultadoTransaccion res = new ResultadoTransaccion(); SqlTransaction trans = null; //Abrir Conexion var conn = BaseDatos.Conexion(); try { SqlCommand command = new SqlCommand("SP_N_COTIZACION_SOLICITUD_COTIZACIONES", conn); command.Transaction = conn.BeginTransaction(); trans = command.Transaction; command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@idUsuario", cotizacionDirecta.Usuario.Id32); command.Parameters.AddWithValue("@Producto", cotizacionDirecta.Producto); //command.Parameters.AddWithValue("@Producto", "FCL"); command.Parameters.AddWithValue("@idCliente", cotizacionDirecta.Cliente.Id32); command.Parameters.AddWithValue("@nombreCliente", cotizacionDirecta.NombreCliente); command.Parameters.AddWithValue("@fechaSolicitud", cotizacionDirecta.FechaSolicitud); command.Parameters.AddWithValue("@idIncoterms", cotizacionDirecta.IncoTerm.Id32); command.Parameters.AddWithValue("@gastosLocales", cotizacionDirecta.GastosLocales); command.Parameters.AddWithValue("@ObservacionesFijas", cotizacionDirecta.ObservacionesFijas); command.Parameters.AddWithValue("@Observaciones", cotizacionDirecta.Observaciones); command.Parameters.AddWithValue("@commodity", cotizacionDirecta.Commodity); command.Parameters.AddWithValue("@COTIZACION_TIPOS_id", 1); command.Parameters.AddWithValue("@COTIZACION_Directa_ESTADOS_id", 1); command.Parameters.AddWithValue("@conAgenciamento", false); command.Parameters.AddWithValue("@CopiadoDe", cotizacionDirecta.CopiadoDe); command.CommandType = CommandType.StoredProcedure; var outParam = command.Parameters.Add("@Id", SqlDbType.BigInt); outParam.Direction = ParameterDirection.Output; command.ExecuteScalar(); cotizacionDirecta.Id = Convert.ToInt16(outParam.Value); cotizacionDirecta.Id32 = Convert.ToInt32(outParam.Value); CrearOpcion(cotizacionDirecta, command); ClsGastosLocalesDao.CrearGastosLocales(cotizacionDirecta, command); command.Transaction.Commit(); res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar; res.ObjetoTransaccion = cotizacionDirecta; res.Descripcion = "La cotización se guardó Exitosamente"; } catch (Exception ex) { cotizacionDirecta.Id = cotizacionDirecta.Id32 = 0; foreach (var o in cotizacionDirecta.Opciones) { o.Id = o.Id32 = 0; foreach (var d in o.Detalles) { d.Id = d.Id32 = 0; } } if (trans != null) trans.Rollback(); Log.EscribirLog(ex.Message); res.Descripcion = ex.Message; res.ArchivoError = NombreClase; res.MetodoError = MethodBase.GetCurrentMethod().Name; } finally { conn.Close(); } return res; }
public static ResultadoTransaccion GuardarMensaje(CotizacionDirecta cotizacionDirecta, Comentario comentario) { comentario.EsHistorial = false; return Guardar(cotizacionDirecta, comentario); }
/// <summary> /// Retorna todos los mensajes incluidos los historiales /// </summary> /// <param name="cotizacionDirecta"></param> /// <returns></returns> public static ResultadoTransaccion ObtieneTodosLosMensajes(CotizacionDirecta cotizacionDirecta) { return ClsComentarioDao.ObtieneTodosLosMensajes(cotizacionDirecta); }
/// <summary> /// Retorna todos los mensajes incluidos los historiales /// </summary> /// <param name="cotizacionDirecta"></param> /// <returns></returns> public static ResultadoTransaccion ObtieneTodosLosMensajes(CotizacionDirecta cotizacionDirecta) { return ObtieneTodosLosMensajes("SP_L_COTIZACION_COMENTARIOS", cotizacionDirecta.Id32); }
public static ResultadoTransaccion GuardarFollowUps(IList<clsClienteFollowUp> followDatabase, CotizacionDirecta cotizacionDirecta) { ResultadoTransaccion resTransaccion = new ResultadoTransaccion(); var conn = BaseDatos.Conexion(); try { //conn.Open(); var transaction = BaseDatos.Conexion().BeginTransaction(); foreach (var followUp in cotizacionDirecta.FollowUps) { if (followUp.IsNew) resTransaccion = clsClienteMasterADO.AgregarFollowUpClienteMaster(followUp, transaction); else resTransaccion = clsClienteMasterADO.ModificarFollowUpClienteMaster(followUp, transaction); //Ejecutar transaccion if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) throw new Exception(resTransaccion.Descripcion); } if (!cotizacionDirecta.IsNew) { var newlist = cotizacionDirecta.FollowUps.ToList(); foreach (var followUp in followDatabase) { var encontrado = newlist.Find(foo => foo.Id32.Equals(followUp.Id32)); if (encontrado == null) { resTransaccion = Clientes.clsClienteMasterADO.EliminarLogicoFollowUpClienteMaster(followUp, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) throw new Exception(resTransaccion.Descripcion); } } } resTransaccion.Descripcion = "Se registró los Followup Exitosamente"; transaction.Commit(); } catch (Exception e) { Log.EscribirLog(e.Message); } finally { conn.Close(); } return resTransaccion; }