Пример #1
0
        public Decimal guardarAjuste(String tipo,
            String idRegional,
            String idCiudad,
            int idEmpresa,
            int idProducto,
            String talla,
            int idLote,
            int CantidadMod,
            Decimal costo,
            String Motivo,
            List<EquipoAjuste> listaEquiposAjuste,
            String NOMBRE_SERVICIO_COMPLEMENTARIO)
        {
            Decimal idDoc = 0;
            DateTime fecha;
            Decimal idInventario = 0;

            Boolean correcto = true;

            fecha = System.DateTime.Today;

            Conexion _dato = new Conexion(Empresa);
            _dato.IniciarTransaccion();

            try
            {
                documento_temp _doc = new documento_temp(Empresa, Usuario);
                idDoc = _doc.AdicionarAlmDocumentosTemp(0, "AJUSTE", "", fecha, new DateTime(), 0, "POR APROBAR", Motivo, _dato);

                if (idDoc <= 0)
                {
                    correcto = false;
                    MensajeError = _doc.MensajeError;
                    _dato.DeshacerTransaccion();
                }
                else
                {
                    bodega _bodega = new bodega(Empresa, Usuario);
                    _bodega.MensajeError = null;
                    DataTable tablaBodega = _bodega.ObtenerAlmRegBodegaPorIds(idRegional, idCiudad, idEmpresa, _dato);

                    if (_bodega.MensajeError != null)
                    {
                        correcto = false;
                        _dato.DeshacerTransaccion();
                        MensajeError = _bodega.MensajeError;
                    }
                    else
                    {
                        DataRow filaBodega = tablaBodega.Rows[0];

                        lote _lote = new lote(Empresa, Usuario);
                        _lote.MensajeError = null;
                        DataTable tablaLote = _lote.ObtenerAlmLotePorId(idLote, _dato);

                        if (_lote.MensajeError != null)
                        {
                            correcto = false;
                            _dato.DeshacerTransaccion();
                            MensajeError = _bodega.MensajeError;
                        }
                        else
                        {
                            DataRow filalote = tablaLote.Rows[0];
                            if (tipo.Equals("COSTO"))
                            {
                                idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, costo, fecha, "COSTO", _dato);

                                if (idInventario == 0)
                                {
                                    correcto = false;
                                    _dato.DeshacerTransaccion();
                                    MensajeError = _bodega.MensajeError;
                                }
                            }
                            else if (tipo.Equals("ENTRADA"))
                            {
                                if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS")
                                {
                                    idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato);

                                    if (idInventario == 0)
                                    {
                                        correcto = false;
                                        _dato.DeshacerTransaccion();
                                        MensajeError = _bodega.MensajeError;
                                    }
                                }
                                else
                                {
                                    foreach (EquipoAjuste equipo in listaEquiposAjuste)
                                    {
                                        EquipoEntradaTemp _equipoTemp = new EquipoEntradaTemp(Empresa, Usuario);
                                        Decimal ID_EQUIPO_TEMP = _equipoTemp.AdicionarAlmEquipoEntradaTemp(equipo.ID_DOCUMENTO, equipo.MARCA, equipo.MODELO, equipo.SERIE, equipo.IMEI, equipo.NUMERO_CELULAR, fecha, equipo.ID_LOTE, _dato);

                                        if (ID_EQUIPO_TEMP <= 0)
                                        {
                                            correcto = false;
                                            _dato.DeshacerTransaccion();
                                            MensajeError = _bodega.MensajeError;
                                            break;
                                        }
                                        else
                                        {
                                            idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(ID_EQUIPO_TEMP), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato);

                                            if (idInventario == 0)
                                            {
                                                correcto = false;
                                                _dato.DeshacerTransaccion();
                                                MensajeError = _bodega.MensajeError;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS")
                                {
                                    idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato);
                                    if (idInventario == 0)
                                    {
                                        correcto = false;
                                        _dato.DeshacerTransaccion();
                                        MensajeError = _bodega.MensajeError;
                                    }
                                }
                                else
                                {
                                    foreach (EquipoAjuste equipo in listaEquiposAjuste)
                                    {
                                        idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(equipo.ID_EQUIPO), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato);
                                        if (idInventario == 0)
                                        {
                                            correcto = false;
                                            _dato.DeshacerTransaccion();
                                            MensajeError = _bodega.MensajeError;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    _dato.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                correcto = false;
                MensajeError = ex.Message;
                _dato.DeshacerTransaccion();
            }
            finally
            {
                _dato.Desconectar();
            }

            if (correcto == true)
            {
                return idDoc;
            }
            else
            {
                return 0;
            }
        }
Пример #2
0
        public Decimal guardarAjuste(String tipo,
                                     String idRegional,
                                     String idCiudad,
                                     int idEmpresa,
                                     int idProducto,
                                     String talla,
                                     int idLote,
                                     int CantidadMod,
                                     Decimal costo,
                                     String Motivo,
                                     List <EquipoAjuste> listaEquiposAjuste,
                                     String NOMBRE_SERVICIO_COMPLEMENTARIO)
        {
            Decimal  idDoc = 0;
            DateTime fecha;
            Decimal  idInventario = 0;

            Boolean correcto = true;

            fecha = System.DateTime.Today;

            Conexion _dato = new Conexion(Empresa);

            _dato.IniciarTransaccion();

            try
            {
                documento_temp _doc = new documento_temp(Empresa, Usuario);
                idDoc = _doc.AdicionarAlmDocumentosTemp(0, "AJUSTE", "", fecha, new DateTime(), 0, "POR APROBAR", Motivo, _dato);

                if (idDoc <= 0)
                {
                    correcto     = false;
                    MensajeError = _doc.MensajeError;
                    _dato.DeshacerTransaccion();
                }
                else
                {
                    bodega _bodega = new bodega(Empresa, Usuario);
                    _bodega.MensajeError = null;
                    DataTable tablaBodega = _bodega.ObtenerAlmRegBodegaPorIds(idRegional, idCiudad, idEmpresa, _dato);

                    if (_bodega.MensajeError != null)
                    {
                        correcto = false;
                        _dato.DeshacerTransaccion();
                        MensajeError = _bodega.MensajeError;
                    }
                    else
                    {
                        DataRow filaBodega = tablaBodega.Rows[0];

                        lote _lote = new lote(Empresa, Usuario);
                        _lote.MensajeError = null;
                        DataTable tablaLote = _lote.ObtenerAlmLotePorId(idLote, _dato);

                        if (_lote.MensajeError != null)
                        {
                            correcto = false;
                            _dato.DeshacerTransaccion();
                            MensajeError = _bodega.MensajeError;
                        }
                        else
                        {
                            DataRow filalote = tablaLote.Rows[0];
                            if (tipo.Equals("COSTO"))
                            {
                                idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, costo, fecha, "COSTO", _dato);

                                if (idInventario == 0)
                                {
                                    correcto = false;
                                    _dato.DeshacerTransaccion();
                                    MensajeError = _bodega.MensajeError;
                                }
                            }
                            else if (tipo.Equals("ENTRADA"))
                            {
                                if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS")
                                {
                                    idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato);

                                    if (idInventario == 0)
                                    {
                                        correcto = false;
                                        _dato.DeshacerTransaccion();
                                        MensajeError = _bodega.MensajeError;
                                    }
                                }
                                else
                                {
                                    foreach (EquipoAjuste equipo in listaEquiposAjuste)
                                    {
                                        EquipoEntradaTemp _equipoTemp    = new EquipoEntradaTemp(Empresa, Usuario);
                                        Decimal           ID_EQUIPO_TEMP = _equipoTemp.AdicionarAlmEquipoEntradaTemp(equipo.ID_DOCUMENTO, equipo.MARCA, equipo.MODELO, equipo.SERIE, equipo.IMEI, equipo.NUMERO_CELULAR, fecha, equipo.ID_LOTE, _dato);

                                        if (ID_EQUIPO_TEMP <= 0)
                                        {
                                            correcto = false;
                                            _dato.DeshacerTransaccion();
                                            MensajeError = _bodega.MensajeError;
                                            break;
                                        }
                                        else
                                        {
                                            idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(ID_EQUIPO_TEMP), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato);

                                            if (idInventario == 0)
                                            {
                                                correcto = false;
                                                _dato.DeshacerTransaccion();
                                                MensajeError = _bodega.MensajeError;
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS")
                                {
                                    idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato);
                                    if (idInventario == 0)
                                    {
                                        correcto = false;
                                        _dato.DeshacerTransaccion();
                                        MensajeError = _bodega.MensajeError;
                                    }
                                }
                                else
                                {
                                    foreach (EquipoAjuste equipo in listaEquiposAjuste)
                                    {
                                        idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(equipo.ID_EQUIPO), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato);
                                        if (idInventario == 0)
                                        {
                                            correcto = false;
                                            _dato.DeshacerTransaccion();
                                            MensajeError = _bodega.MensajeError;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    _dato.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                correcto     = false;
                MensajeError = ex.Message;
                _dato.DeshacerTransaccion();
            }
            finally
            {
                _dato.Desconectar();
            }

            if (correcto == true)
            {
                return(idDoc);
            }
            else
            {
                return(0);
            }
        }