Пример #1
0
        public tii_mapeo_puc getCuentasLocalesMapeadasA(string sCuentaCorporativa)
        {
            tii_mapeo_puc mapeo = new tii_mapeo_puc(_connStr);

            mapeo.Where.Cuentagp.Value    = sCuentaCorporativa.Trim();
            mapeo.Where.Cuentagp.Operator = WhereParameter.Operand.Equal;
            mapeo.Query.AddOrderBy(tii_mapeo_puc.ColumnNames.Codigopuc, WhereParameter.Dir.ASC);
            try
            {
                if (mapeo.Query.Load())
                {
                    mapeo.Rewind();
                }
                else
                {
                    return(mapeo);
                }
            }
            catch (Exception ePla)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al obtener cuentas locales asociadas a una cuenta corporativa. " + ePla.Message, "[MapeoService.getCuentasLocalesMapeadasA()]"));
                return(null);
            }
            return(mapeo);
        }
Пример #2
0
        public bool get(string sPuc, string sGp)
        {
            tii_mapeo_puc mapeo = new tii_mapeo_puc(_connStr);

            mapeo.Where.Codigopuc.Value    = sPuc.Trim();
            mapeo.Where.Codigopuc.Operator = WhereParameter.Operand.Equal;
            mapeo.Where.Cuentagp.Value     = sGp.Trim();
            mapeo.Where.Cuentagp.Operator  = WhereParameter.Operand.Equal;

            try
            {
                if (mapeo.Query.Load())
                {
                    _codigoPuc = mapeo.Codigopuc;
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ePla)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al obtener el mapeo de plan de cuentas local. " + ePla.Message, "[MapeoService.get()]"));
                return(false);
            }
            return(true);
        }
Пример #3
0
        public tii_mapeo_puc getCuentasCorporaMapeadasA(string sCuentaLocal)
        {
            tii_mapeo_puc mapeo = new tii_mapeo_puc(_connStr);

            if (sCuentaLocal.IndexOf(" ", 0) > 0)
            {
                mapeo.Where.Codigopuc.Value = sCuentaLocal.Substring(0, sCuentaLocal.IndexOf(" ", 0));
            }
            else
            {
                mapeo.Where.Codigopuc.Value = sCuentaLocal.Trim();
            }

            mapeo.Where.Codigopuc.Operator = WhereParameter.Operand.Equal;
            mapeo.Query.AddResultColumn(tii_mapeo_puc.ColumnNames.Cuentagp);
            mapeo.Query.AddResultColumn(tii_mapeo_puc.ColumnNames.Codigopuc);

            try
            {
                if (mapeo.Query.Load())
                {
                    mapeo.Rewind();
                }
                else
                {
                    return(mapeo);
                }
            }
            catch (Exception ePla)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al obtener cuentas corporativas asociadas a una cuenta local. " + ePla.Message, "[getCuentasCorporaMapeadasA()]"));
                return(null);
            }
            return(mapeo);
        }
Пример #4
0
        public bool activaMapeo()
        {
            tii_mapeo_puc _mapeo = new tii_mapeo_puc(_connStr);

            try
            {
                _mapeo.loadFromSqlNoExec("sp_LAndinaActivaMapeo");
            }
            catch (Exception eSave)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al activar el mapeo." + eSave.Message, "[PlanGeneralService.activaMapeo]"));
            }
            return(_errorMessages.Count == 0);
        }
Пример #5
0
        public void Delete(string cuentaGp, string cuentaPuc)
        {
            tii_mapeo_puc _mapeo = new tii_mapeo_puc(_connStr);

            try
            {
                if (_mapeo.LoadByPrimaryKey(cuentaGp, cuentaPuc))
                {
                    _mapeo.MarkAsDeleted();
                    _mapeo.Save();
                }
            }
            catch (Exception eDel)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al acceder a la base de datos." + eDel.Message, "[MapeoService.Delete] Cuenta: " + cuentaGp));
            }
        }
        public bool Delete(string id)
        {
            ErrorMessageCollection e = new ErrorMessageCollection();

            e.Add(new ErrorMessage("Primero debe eliminar las cuentas corporativas asociadas a la cuenta local."));
            tii_mapeo_puc detalle = _service.Mapeo.getCuentasCorporaMapeadasA(id);

            if (detalle.DefaultView.Count > 0)
            {
                _view.ShowValidationErrors(e);
            }
            else
            if (!id.Equals(string.Empty) && _view.ConfirmDelete())
            {
                _service.Delete(id);
                return(true);
            }

            return(false);
        }
Пример #7
0
        /////////////////////////////////////////////////////////////////
        #region ***** METODOS
        public bool Save(IMapeo mapeo)
        {
            tii_mapeo_puc _mapeo = new tii_mapeo_puc(_connStr);

            try
            {
                if (!_mapeo.LoadByPrimaryKey(mapeo.MapeoCuentaGp, mapeo.MapeoCuentaPuc))
                {
                    _mapeo.AddNew();
                    _mapeo.Codigopuc = mapeo.MapeoCuentaPuc.Trim();
                    _mapeo.Cuentagp  = mapeo.MapeoCuentaGp.Trim();
                    _mapeo.Procesado = "S";
                }
                _mapeo.Save();
            }
            catch (Exception eSave)
            {
                _errorMessages.Add(new ErrorMessage("Contacte al administrador. Error al acceder a la base de datos." + eSave.Message, "[MapeoService.Save] Cuenta GP: " + mapeo.MapeoCuentaGp));
            }
            return(_errorMessages.Count == 0);
        }
        /// <summary>
        /// Valida que la cuenta corporativa exista en GP.
        /// La cuenta corporativa debe ser guardada en el formato: AAAA______AAA___A donde A representa los segmentos contables alfanuméricos.
        /// Si el mapeo es por segmento, basta con poner el segmento
        /// </summary>
        /// <returns></returns>
        public bool ValidaMapeoEnBd()
        {
            bool ok = this.ValidaMapeo();                       //Valida la asociación de la cuenta corporativa con la cuenta local puc

            if (ok)
            {
                _service.Mapeo.parametros = _parametros;
                if (_parametros.segmentoContable == "0")        //El mapeo es por segmento contable de GP? 0:no, 1:sí
                {
                    if (!_service.Mapeo.getCuentaGpByActnumstLike(_model.MapeoCuentas[0].MapeoCuentaGp))
                    {
                        ErrorMessages.Add(new ErrorMessage("La cuenta no existe en el plan de cuentas corporativo."));
                        _view.ShowValidationErrorsMapeo(ErrorMessages);
                    }
                }
                else
                if (!_service.Mapeo.getPrimeraCuentaDeSegmentoGp(_model.MapeoCuentas[0].MapeoCuentaGp))
                {
                    ErrorMessages.Add(new ErrorMessage("El segmento no existe en el plan de cuentas corporativo."));
                    _view.ShowValidationErrorsMapeo(ErrorMessages);
                }

                if (_service.Mapeo.get(_model.MapeoCuentas[0].MapeoCuentaPuc, _model.MapeoCuentas[0].MapeoCuentaGp))
                {
                    ErrorMessages.Add(new ErrorMessage("Este mapeo ya existe."));
                    _view.ShowValidationErrorsMapeo(ErrorMessages);
                }

                //No importa si el mapeo es por segmento o por cuenta, debe obtener las cuentas locales puc mapeadas a una cuenta corporativa gp
                tii_mapeo_puc mapeo = _service.Mapeo.getCuentasLocalesMapeadasA(_model.MapeoCuentas[0].MapeoCuentaGp);
                if (mapeo != null)
                {
                    if (_service.Mapeo.pstngtyp == 1 &&             //cuenta de resultado
                        _parametros.pais.Equals("PERU"))            //validación que aplica a PERU
                    {
                        if (mapeo.RowCount == 1)
                        {
                            //Validar que la segunda cuenta local que se quiere mapear sea una sola cuenta 9
                            if ((mapeo.Codigopuc.Substring(0, 1).Equals("9") && _model.MapeoCuentas[0].MapeoCuentaPuc.Substring(0, 1).Equals("9")) ||
                                (!mapeo.Codigopuc.Substring(0, 1).Equals("9") && !_model.MapeoCuentas[0].MapeoCuentaPuc.Substring(0, 1).Equals("9")))
                            {
                                ErrorMessages.Add(new ErrorMessage("La cuenta corporativa ya está asignada a la cuenta local: " + mapeo.Codigopuc));
                                _view.ShowValidationErrorsMapeo(ErrorMessages);
                            }
                        }
                        if (mapeo.RowCount >= 2)
                        {
                            //Ya están asignadas dos cuentas locales (6 y 9) a una cuenta corporativa. No se permiten más.
                            for (int i = 1; i <= 2; i++)
                            {
                                ErrorMessages.Add(new ErrorMessage("La cuenta corporativa ya está asignada a la cuenta local: " + mapeo.Codigopuc + ". Puede desasignarla y volver a intentar."));
                                mapeo.MoveNext();
                            }
                            _view.ShowValidationErrorsMapeo(ErrorMessages);
                        }
                    }
                    else
                    if (mapeo.RowCount >= 1)
                    {
                        ErrorMessages.Add(new ErrorMessage("La cuenta corporativa ya está asignada a la cuenta local: " + mapeo.Codigopuc));
                        _view.ShowValidationErrorsMapeo(ErrorMessages);
                    }
                }
                ok = (ErrorMessages.Count == 0);
            }

            ErrorMessages.Clear();
            return(ok);
        }