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); }
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); }
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); }
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); }
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); }
///////////////////////////////////////////////////////////////// #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); }