示例#1
0
        public int ActualizarCotizacion(CotizacionEntity entidad)
        {
            List <SqlParameter> listParameter = new List <SqlParameter>();

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@CODIGO",
                SqlDbType     = SqlDbType.VarChar,
                Value         = entidad.codigo
            });

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@PRECIO",
                SqlDbType     = SqlDbType.Float,
                Value         = entidad.precio
            });

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@CODIGO_CATALOGO",
                SqlDbType     = SqlDbType.Int,
                Value         = entidad.codigoCatalogo
            });

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@DESCRIPCION",
                SqlDbType     = SqlDbType.VarChar,
                Value         = entidad.descripcion
            });

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@ESTADO",
                SqlDbType     = SqlDbType.VarChar,
                Value         = entidad.estado
            });

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@CODIGO_DESPACHO",
                SqlDbType     = SqlDbType.VarChar,
                Value         = entidad.codigoDespacho
            });

            int id = 0;

            try
            {
                string resultado = GetDataBaseHelper().ExecuteProcedureScalar("SP_ACTUALIZAR_COTIZACION", listParameter);
                id = !string.IsNullOrEmpty(resultado) ? Convert.ToInt32(resultado) : 0;
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
            return(id);
        }
示例#2
0
        public static string Completar(MensajeMd mensaje)
        {
            try
            {
                List <CatalogoServicioEntity> servicios            = (new CatalogoBusiness()).ConsultarCatalogos();
                CatalogoServicioEntity        servicioSeleccionado = null;
                foreach (var servicio in servicios)
                {
                    if (servicio.nombre.ToLower() == mensaje.servicio.ToLower() && servicio.codigoProveedor == mensaje.codigo_proveedor)
                    {
                        servicioSeleccionado = servicio;
                    }
                }

                if (servicioSeleccionado == null)
                {
                    return("SERVICIO NO EXISTE");
                }

                List <CotizacionEntity> cotizaciones        = (new CotizacionBusiness()).ConsultarCotizaciones();
                CotizacionEntity        cotizacionExistente = null;
                foreach (var cotizacion in cotizaciones)
                {
                    if (cotizacion.codigoDespacho == mensaje.codigo_despacho && cotizacion.codigoCatalogo == servicioSeleccionado.codigo)
                    {
                        cotizacionExistente = cotizacion;
                    }
                }

                if (cotizacionExistente != null)
                {
                    return("YA TIENE UNA COTIZACION CON ESE SERVICIO");
                }

                CotizacionEntity nuevaCotizacion = new CotizacionEntity();

                nuevaCotizacion.codigoCatalogo = servicioSeleccionado.codigo;
                nuevaCotizacion.codigoDespacho = mensaje.codigo_despacho;
                nuevaCotizacion.descripcion    = mensaje.mensaje;
                nuevaCotizacion.estado         = "PENDIENTE";
                nuevaCotizacion.fecha          = DateTime.Now;
                nuevaCotizacion.precio         = (float)mensaje.precio;

                int retorno = (new CotizacionBusiness()).InsertarCotizacion(nuevaCotizacion);

                if (retorno > 0)
                {
                    return("PROCESADO CORRECTAMENTE");
                }
                else
                {
                    return("OCURRIO UN ERROR EN LA INSERCION");
                }
            }
            catch (Exception ex)
            {
                return("OCURRIO UNA EXCEPCION EN LA INSERCION");
            }
        }
示例#3
0
        public CotizacionEntity ConsultarCotizacionPorID(int codigo)
        {
            CotizacionEntity cotizacion = new CotizacionEntity();

            List <SqlParameter> listParameter = new List <SqlParameter>();

            listParameter.Add(new SqlParameter
            {
                ParameterName = "@CODIGO",
                SqlDbType     = SqlDbType.VarChar,
                Value         = codigo
            });

            try
            {
                DataSet resultado = GetDataBaseHelper().ExecuteProcedureToDataSet("SP_CONSULTAR_COTIZACION_ID", listParameter);
                foreach (DataRow row in resultado.Tables[0].Rows)
                {
                    if (row["CODIGO"] != DBNull.Value)
                    {
                        cotizacion.codigo = Convert.ToInt32(row["CODIGO"]);
                    }
                    if (row["FECHA"] != DBNull.Value)
                    {
                        cotizacion.fecha = Convert.ToDateTime(row["FECHA"]);
                    }
                    if (row["PRECIO"] != DBNull.Value)
                    {
                        cotizacion.precio = float.Parse(row["PRECIO"].ToString());
                    }
                    if (row["CODIGO_CATALOGO"] != DBNull.Value)
                    {
                        cotizacion.codigoCatalogo = Convert.ToInt32(row["CODIGO_CATALOGO"]);
                    }
                    if (row["DESCRIPCION"] != DBNull.Value)
                    {
                        cotizacion.descripcion = row["DESCRIPCION"].ToString();
                    }
                    if (row["ESTADO"] != DBNull.Value)
                    {
                        cotizacion.estado = row["ESTADO"].ToString();
                    }
                    if (row["CODIGO_DESPACHO"] != DBNull.Value)
                    {
                        cotizacion.codigoDespacho = Convert.ToInt32(row["CODIGO_DESPACHO"]);
                    }
                    break;
                }
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }

            return(cotizacion);
        }
示例#4
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                CotizacionEntity entidad = new CotizacionEntity();
                if (lblCodigo.Text != string.Empty)
                {
                    entidad.codigo = Convert.ToInt32(lblCodigo.Text);
                }
                entidad.fecha = DateTime.Now;
                if (float.TryParse(txbPrecio.Text.Trim(), out float precio))
                {
                    entidad.precio = precio;
                }
                entidad.codigoCatalogo = Convert.ToInt32(ddlCatalogo.SelectedValue);
                entidad.descripcion    = txbDescripcion.Text.Trim();
                entidad.estado         = ddlEstado.SelectedValue;
                entidad.codigoDespacho = Convert.ToInt32(ddlDespacho.SelectedValue);

                lblMensajeCotizacion.Text = string.Empty;

                int id = 0;
                if (entidad.codigo > 0)
                {
                    id = cotizacionBusiness.ActualizarCotizacion(entidad);
                }
                else
                {
                    id = cotizacionBusiness.InsertarCotizacion(entidad);
                }

                if (id > 0)
                {
                    lblMensajeCotizacion.Text = "Registro guardado";
                }
                else
                {
                    lblMensajeCotizacion.Text = "El registro no se pudo guardar";
                }
            }
            catch (Exception exc)
            {
            }
        }
示例#5
0
        protected void gridCotizaciones_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblCodigo.Text = gridCotizaciones.SelectedRow.Cells[0].Text;
            int codigo = 0;

            if (!string.IsNullOrEmpty(lblCodigo.Text))
            {
                codigo = Convert.ToInt32(lblCodigo.Text);
            }

            CotizacionEntity entidad = new CotizacionEntity();

            entidad = cotizacionBusiness.ConsultarCotizacionPorID(codigo);

            txbPrecio.Text            = entidad.precio.ToString();
            ddlCatalogo.SelectedValue = entidad.codigoCatalogo.ToString();
            txbDescripcion.Text       = entidad.descripcion;
            ddlEstado.SelectedValue   = entidad.estado;
            ddlDespacho.SelectedValue = entidad.codigoDespacho.ToString();

            MultiView1.ActiveViewIndex = 1;
            InactivarControles();
        }
示例#6
0
        public int ActualizarCotizacion(CotizacionEntity entidad)
        {
            int id = cotizacionDataAccess.ActualizarCotizacion(entidad);

            return(id);
        }
示例#7
0
        public CotizacionEntity ConsultarCotizacionPorID(int codigo)
        {
            CotizacionEntity result = cotizacionDataAccess.ConsultarCotizacionPorID(codigo);

            return(result);
        }
示例#8
0
        public int InsertarCotizacion(CotizacionEntity entidad)
        {
            int id = cotizacionDataAccess.InsertarCotizacion(entidad);

            return(id);
        }
示例#9
0
        public List <CotizacionEntity> ConsultarCotizaciones()
        {
            List <CotizacionEntity> respuesta = new List <CotizacionEntity>();

            try
            {
                DataSet resultado = GetDataBaseHelper().ExecuteProcedureToDataSet("SP_CONSULTAR_COTIZACIONES");
                foreach (DataRow row in resultado.Tables[0].Rows)
                {
                    CotizacionEntity cotizacion = new CotizacionEntity();
                    if (row["CODIGO"] != DBNull.Value)
                    {
                        cotizacion.codigo = Convert.ToInt32(row["CODIGO"]);
                    }
                    if (row["FECHA"] != DBNull.Value)
                    {
                        cotizacion.fecha = Convert.ToDateTime(row["FECHA"]);
                    }
                    if (row["PRECIO"] != DBNull.Value)
                    {
                        cotizacion.precio = float.Parse(row["PRECIO"].ToString());
                    }
                    if (row["CODIGO_CATALOGO"] != DBNull.Value)
                    {
                        cotizacion.codigoCatalogo = Convert.ToInt32(row["CODIGO_CATALOGO"]);
                    }
                    if (row["DESCRIPCION"] != DBNull.Value)
                    {
                        cotizacion.descripcion = row["DESCRIPCION"].ToString();
                    }
                    if (row["ESTADO"] != DBNull.Value)
                    {
                        cotizacion.estado = row["ESTADO"].ToString();
                    }
                    if (row["CODIGO_DESPACHO"] != DBNull.Value)
                    {
                        cotizacion.codigoDespacho = Convert.ToInt32(row["CODIGO_DESPACHO"]);
                    }
                    if (row["CATALOGO"] != DBNull.Value)
                    {
                        cotizacion.nombreCatalogo = row["CATALOGO"].ToString();
                    }
                    if (row["DIRECCION_ORIGEN"] != DBNull.Value)
                    {
                        cotizacion.direccionOrigen = row["DIRECCION_ORIGEN"].ToString();
                    }
                    if (row["DIRECCION_DESTINO"] != DBNull.Value)
                    {
                        cotizacion.direccionDestino = row["DIRECCION_DESTINO"].ToString();
                    }
                    if (row["PROVEEDOR"] != DBNull.Value)
                    {
                        cotizacion.proveedor = row["PROVEEDOR"].ToString();
                    }
                    if (row["CODIGO_PROVEEDOR"] != DBNull.Value)
                    {
                        cotizacion.codigoProveedor = Convert.ToInt32(row["CODIGO_PROVEEDOR"].ToString());
                    }
                    respuesta.Add(cotizacion);
                }
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }

            return(respuesta);
        }
示例#10
0
        public static void ciclo()
        {
            do
            {
                System.Console.WriteLine("Identificando Despachos pendientes");
                List <DespachoEntity>   despachos    = (new DespachoBusiness()).ConsultarDespachos();
                List <CotizacionEntity> cotizaciones = (new CotizacionBusiness()).ConsultarCotizaciones();
                List <ProveedorEntity>  proveedores  = (new ProveedorBusiness()).ConsultarProveedores();
                List <ClientesEntity>   clientes     = (new ClienteBusiness()).ConsultarClientes();

                List <CotizacionEntity> cotizacionesReview = new List <CotizacionEntity>();

                foreach (var despacho in despachos)
                {
                    if (despacho.estado == "PENDIENTE")
                    {
                        int ofertas = 0;
                        foreach (var proveedor in proveedores)
                        {
                            bool oferto = false;
                            foreach (var cotizacion in cotizaciones)
                            {
                                if (cotizacion.codigoProveedor == proveedor.codigo && despacho.codigo == cotizacion.codigoDespacho)
                                {
                                    cotizacionesReview.Add(cotizacion);
                                    oferto = true;
                                }
                            }
                            if (oferto)
                            {
                                ofertas++;
                            }
                        }
                        if (proveedores.Count() == ofertas)
                        {
                            despacho.estado = "ASIGNADO";
                            (new DespachoBusiness()).ActualizarDespacho(despacho);
                            System.Console.WriteLine("Despacho:" + despacho.codigo.ToString() + " :" + despacho.estado);

                            CotizacionEntity menor = null;

                            foreach (var cotizacion in cotizacionesReview)
                            {
                                if (menor == null)
                                {
                                    menor = cotizacion;
                                }
                                if (menor.precio > cotizacion.precio)
                                {
                                    menor = cotizacion;
                                }
                            }
                            foreach (var cotizacion in cotizacionesReview)
                            {
                                if (menor.codigo != cotizacion.codigo)
                                {
                                    cotizacion.estado = "RECHAZADA";
                                    (new CotizacionBusiness()).ActualizarCotizacion(cotizacion);
                                }
                            }
                            menor.estado = "APROBADA";
                            (new CotizacionBusiness()).ActualizarCotizacion(menor);
                            ProveedorEntity proveedorSeleccionado = null;
                            foreach (var proveedor in proveedores)
                            {
                                if (proveedor.codigo == menor.codigoProveedor)
                                {
                                    proveedorSeleccionado = proveedor;
                                }
                            }
                            System.Console.WriteLine("Cotizacion:" + proveedorSeleccionado.nombre + " :" + menor.estado);
                            string texto    = "El proveedor seleccionado para su despacho es: " + proveedorSeleccionado.nombre + " valor:" + menor.precio.ToString();
                            string telefono = string.Empty;

                            foreach (var cliente in clientes)
                            {
                                if (cliente.codigo == despacho.codigoCliente)
                                {
                                    telefono = cliente.telefono;
                                }
                            }

                            controlSMS.Service SMSproxy = new controlSMS.Service();

                            string retorno = SMSproxy.SSA(telefono + "|" + texto + "|[email protected]|");

                            SMSproxy.Dispose();
                        }
                    }
                }
                System.Threading.Thread.Sleep(10000);
            } while (true);
        }