예제 #1
0
        public void AddRemitoTangoItem(RemitoTango remitoTango, SqlConnection sqlConnection, SqlTransaction sqlTransaction)
        {
            query = "Insert Into STA20(CAN_EQUI_V, CANT_PEND, CANTIDAD, COD_ARTICU, COD_DEPOSI, EQUIVALENC, FECHA_MOV, N_RENGL_S, NCOMP_IN_S, PRECIO, PRECIO_REM, TCOMP_IN_S, TIPO_MOV) Values(@CAN_EQUI_V, @CANT_PEND, @CANTIDAD, @COD_ARTICU, @COD_DEPOSI, @EQUIVALENC, @FECHA_MOV, @N_RENGL_S, @NCOMP_IN_S, @PRECIO, @PRECIO_REM, @TCOMP_IN_S, @TIPO_MOV)";

            command             = new SqlCommand(query, connection);
            command.Transaction = sqlTransaction;

            command.Parameters.Add(new SqlParameter("CAN_EQUI_V", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("CANT_PEND", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("CANTIDAD", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("COD_ARTICU", SqlDbType.NVarChar));
            command.Parameters.Add(new SqlParameter("COD_DEPOSI", SqlDbType.NVarChar));
            command.Parameters.Add(new SqlParameter("EQUIVALENC", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("FECHA_MOV", SqlDbType.DateTime));
            command.Parameters.Add(new SqlParameter("N_RENGL_S", SqlDbType.NVarChar));
            command.Parameters.Add(new SqlParameter("NCOMP_IN_S", SqlDbType.NVarChar));
            command.Parameters.Add(new SqlParameter("PRECIO", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("PRECIO_REM", SqlDbType.Decimal));
            command.Parameters.Add(new SqlParameter("TCOMP_IN_S", SqlDbType.NVarChar));
            command.Parameters.Add(new SqlParameter("TIPO_MOV", SqlDbType.NVarChar));

            try
            {
                foreach (RemitoTangoItem item in remitoTango.items)
                {
                    command.Parameters["CAN_EQUI_V"].Value = item.CAN_EQUI_V;
                    command.Parameters["CANT_PEND"].Value  = item.CANT_PEND;
                    command.Parameters["CANTIDAD"].Value   = item.CANTIDAD;
                    command.Parameters["COD_ARTICU"].Value = item.COD_ARTICU;
                    command.Parameters["COD_DEPOSI"].Value = item.COD_DEPOSI;
                    command.Parameters["EQUIVALENC"].Value = item.EQUIVALENC;
                    command.Parameters["FECHA_MOV"].Value  = item.FECHA_MOV;
                    command.Parameters["N_RENGL_S"].Value  = item.N_RENGL_S;
                    command.Parameters["NCOMP_IN_S"].Value = item.NCOMP_IN_S;
                    command.Parameters["PRECIO"].Value     = item.PRECIO;
                    command.Parameters["PRECIO_REM"].Value = item.PRECIO_REM;
                    command.Parameters["TCOMP_IN_S"].Value = item.TCOMP_IN_S;
                    command.Parameters["TIPO_MOV"].Value   = item.TIPO_MOV;

                    command.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                sqlTransaction.Rollback();
                throw ex;
            }
        }
예제 #2
0
        private void SincronizarRemitos()
        {
            Console.WriteLine("SINCRONIZAR REMITOS TANGO-CRM\n");
            Console.WriteLine("Iniciando proceso...\n");

            try
            {
                Console.WriteLine("Remitos procesados:");

                RemitoDao      remitoDao      = new RemitoDao();
                RemitoTangoDao remitoTangoDao = new RemitoTangoDao();
                List <Remito>  remitos        = remitoDao.getRemitos(false);

                int proxNumeroInterno = remitoTangoDao.ObtenerUltimoNroInterno();

                proxNumeroInterno++;

                foreach (Remito rem in remitos)
                {
                    RemitoTango remTgo = new RemitoTango();

                    remTgo.COD_PRO_CL = Convert.ToString(rem.cliente.clienteId);
                    remTgo.ESTADO_MOV = "P";
                    remTgo.FECHA_MOV  = rem.fecha;
                    remTgo.MON_CTE    = true;
                    remTgo.N_COMP     = FormatoNroRemito(Convert.ToString(rem.nroRemito));
                    remTgo.N_REMITO   = FormatoNroRemito(Convert.ToString(rem.nroRemito));
                    remTgo.NCOMP_IN_S = ObtenerProximoNroInterno(proxNumeroInterno);
                    remTgo.NRO_SUCURS = ObtenerNumeroSucursal(rem.nroRemito);
                    remTgo.T_COMP     = "REM";
                    remTgo.TALONARIO  = 2;
                    remTgo.TCOMP_IN_S = "RE";
                    remTgo.USUARIO    = "TANGO-SICO";
                    remTgo.COD_TRANSP = "1";
                    remTgo.items      = new List <RemitoTangoItem>();

                    int nroRenglon = 1;

                    foreach (RemitoItem item in rem.items)
                    {
                        RemitoTangoItem itemTgo = new RemitoTangoItem();

                        itemTgo.CAN_EQUI_V = 1;
                        itemTgo.CANT_PEND  = item.cantidad;
                        itemTgo.CANTIDAD   = item.cantidad;
                        //CODIGO PARA DIME
                        //itemTgo.COD_ARTICU = ObtenerCodigoArticulo(Convert.ToString(item.producto.productoCodigo));
                        itemTgo.COD_ARTICU = Convert.ToString(item.producto.productoCodigo);
                        itemTgo.COD_DEPOSI = "1";
                        itemTgo.EQUIVALENC = 1;
                        itemTgo.FECHA_MOV  = rem.fecha;
                        itemTgo.N_RENGL_S  = nroRenglon;
                        itemTgo.NCOMP_IN_S = ObtenerProximoNroInterno(proxNumeroInterno);
                        itemTgo.PRECIO     = item.precio;
                        itemTgo.PRECIO_REM = rem.calcularTotal();
                        itemTgo.TCOMP_IN_S = "RE";
                        itemTgo.TIPO_MOV   = "S";

                        remTgo.items.Add(itemTgo);

                        nroRenglon++;
                    }

                    Console.WriteLine("Nro".PadRight(14, ' ') + "Razon Social".PadRight(50, ' ') + "Fecha".PadRight(11, ' ') + "Total".PadLeft(20, ' '));
                    Console.WriteLine(rem.ToString());

                    remitoTangoDao.AddRemitoTango(Convert.ToString(rem.nroRemito), remTgo);

                    proxNumeroInterno++;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERROR: " + ex.Message);
            }

            Console.WriteLine("\n\n");
            Menu();
        }
예제 #3
0
        public void AddRemitoTango(String nroRemito, RemitoTango remitoTango)
        {
            using (connection = new SqlConnection(connectionStringTango))
            {
                query = "Insert Into STA14(COD_PRO_CL, ESTADO_MOV, FECHA_MOV, MON_CTE, N_COMP, N_REMITO, NCOMP_IN_S, NRO_SUCURS, T_COMP, TALONARIO, TCOMP_IN_S, USUARIO, COD_TRANSP) Values(@COD_PRO_CL, @ESTADO_MOV, @FECHA_MOV, @MON_CTE, @N_COMP, @N_REMITO, @NCOMP_IN_S, @NRO_SUCURS, @T_COMP, @TALONARIO, @TCOMP_IN_S, @USUARIO, @COD_TRANSP)";

                SqlTransaction sqlTransaction;

                connection.Open();
                sqlTransaction = connection.BeginTransaction();

                command             = new SqlCommand(query, connection);
                command.Transaction = sqlTransaction;

                SqlParameter paramCOD_PRO_CL = new SqlParameter();
                paramCOD_PRO_CL.ParameterName = "@COD_PRO_CL";
                paramCOD_PRO_CL.SqlDbType     = SqlDbType.NVarChar;
                paramCOD_PRO_CL.Size          = 50;
                paramCOD_PRO_CL.SqlValue      = remitoTango.COD_PRO_CL;

                command.Parameters.Add(paramCOD_PRO_CL);

                SqlParameter paramESTADO_MOV = new SqlParameter();
                paramESTADO_MOV.ParameterName = "@ESTADO_MOV";
                paramESTADO_MOV.SqlDbType     = SqlDbType.NVarChar;
                paramESTADO_MOV.Size          = 50;
                paramESTADO_MOV.SqlValue      = remitoTango.ESTADO_MOV;

                command.Parameters.Add(paramESTADO_MOV);

                SqlParameter paramFECHA_MOV = new SqlParameter();
                paramFECHA_MOV.ParameterName = "@FECHA_MOV";
                paramFECHA_MOV.SqlDbType     = SqlDbType.DateTime;
                paramFECHA_MOV.Size          = 50;
                paramFECHA_MOV.SqlValue      = remitoTango.FECHA_MOV;

                command.Parameters.Add(paramFECHA_MOV);

                SqlParameter paramMON_CTE = new SqlParameter();
                paramMON_CTE.ParameterName = "@MON_CTE";
                paramMON_CTE.SqlDbType     = SqlDbType.Bit;
                paramMON_CTE.SqlValue      = remitoTango.MON_CTE;

                command.Parameters.Add(paramMON_CTE);

                SqlParameter paramN_COMP = new SqlParameter();
                paramN_COMP.ParameterName = "@N_COMP";
                paramN_COMP.SqlDbType     = SqlDbType.NVarChar;
                paramN_COMP.Size          = 50;
                paramN_COMP.SqlValue      = remitoTango.N_COMP;

                command.Parameters.Add(paramN_COMP);

                SqlParameter paramN_REMITO = new SqlParameter();
                paramN_REMITO.ParameterName = "@N_REMITO";
                paramN_REMITO.SqlDbType     = SqlDbType.NVarChar;
                paramN_REMITO.Size          = 50;
                paramN_REMITO.SqlValue      = remitoTango.N_REMITO;

                command.Parameters.Add(paramN_REMITO);

                SqlParameter paramNCOMP_IN_S = new SqlParameter();
                paramNCOMP_IN_S.ParameterName = "@NCOMP_IN_S";
                paramNCOMP_IN_S.SqlDbType     = SqlDbType.NVarChar;
                paramNCOMP_IN_S.Size          = 50;
                paramNCOMP_IN_S.SqlValue      = remitoTango.NCOMP_IN_S;

                command.Parameters.Add(paramNCOMP_IN_S);

                SqlParameter paramNRO_SUCURS = new SqlParameter();
                paramNRO_SUCURS.ParameterName = "@NRO_SUCURS";
                paramNRO_SUCURS.SqlDbType     = SqlDbType.Int;
                paramNRO_SUCURS.SqlValue      = remitoTango.NRO_SUCURS;

                command.Parameters.Add(paramNRO_SUCURS);

                SqlParameter paramT_COMP = new SqlParameter();
                paramT_COMP.ParameterName = "@T_COMP";
                paramT_COMP.SqlDbType     = SqlDbType.NVarChar;
                paramT_COMP.Size          = 50;
                paramT_COMP.SqlValue      = remitoTango.T_COMP;

                command.Parameters.Add(paramT_COMP);

                SqlParameter paramTALONARIO = new SqlParameter();
                paramTALONARIO.ParameterName = "@TALONARIO";
                paramTALONARIO.SqlDbType     = SqlDbType.Int;
                paramTALONARIO.SqlValue      = remitoTango.TALONARIO;

                command.Parameters.Add(paramTALONARIO);

                SqlParameter paramTCOMP_IN_S = new SqlParameter();
                paramTCOMP_IN_S.ParameterName = "@TCOMP_IN_S";
                paramTCOMP_IN_S.SqlDbType     = SqlDbType.NVarChar;
                paramTCOMP_IN_S.Size          = 50;
                paramTCOMP_IN_S.SqlValue      = remitoTango.TCOMP_IN_S;

                command.Parameters.Add(paramTCOMP_IN_S);

                SqlParameter paramUSUARIO = new SqlParameter();
                paramUSUARIO.ParameterName = "@USUARIO";
                paramUSUARIO.SqlDbType     = SqlDbType.NVarChar;
                paramUSUARIO.Size          = 50;
                paramUSUARIO.SqlValue      = remitoTango.USUARIO;

                command.Parameters.Add(paramUSUARIO);

                SqlParameter paramCOD_TRANSP = new SqlParameter();
                paramCOD_TRANSP.ParameterName = "@COD_TRANSP";
                paramCOD_TRANSP.SqlDbType     = SqlDbType.NVarChar;
                paramCOD_TRANSP.Size          = 50;
                paramCOD_TRANSP.SqlValue      = remitoTango.COD_TRANSP;

                command.Parameters.Add(paramCOD_TRANSP);

                try
                {
                    command.ExecuteNonQuery();

                    AddRemitoTangoItem(remitoTango, connection, sqlTransaction);

                    RemitoDao remitoDao = new RemitoDao();
                    remitoDao.actualizarEstado(nroRemito, sqlTransaction);

                    sqlTransaction.Commit();
                }
                catch (Exception ex)
                {
                    sqlTransaction.Rollback();
                    throw ex;
                }
            }
        }