- }\r
- #endregion Propiedades privadas\r
-\r
- #region Métodos Públicos\r
- \r
- /// <summary>\r
- /// Guarda un pedido de autorizacion manual.\r
- /// </summary>\r
- public bool guardarAutorizacionManual(String codPrestacion, String cuitPrestador\r
- , int codAfiliado, String observaciones)\r
- {\r
- bool codigosOk = true;\r
- \r
- AutorizacionManual aut = new AutorizacionManual(DateTime.Now);\r
- \r
- #region Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
- //Seteo prestacion\r
- \r
- ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) );\r
- if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion))\r
- codigosOk=false;\r
-\r
- //Seteo prestador\r
- al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) );\r
- if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador))\r
- codigosOk=false;\r
-\r
- \r
-\r
- //Seteo afiliado\r
- al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) );\r
- if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado))\r
- codigosOk=false;\r
- \r
- #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
- //Seteo fecha de vencimiento como dentro de 60 días\r
- aut.FechaVencimiento = DateTime.Now.AddDays(60);\r
-\r
-\r
- aut.Observaciones = observaciones; \r
-\r
- //Signo prox codigo para autorizacion\r
- AutoIncrementable c = new AutoIncrementable ();\r
- using (c)\r
- {\r
- aut.Codigo = c.NextAutorizacion();\r
- }\r
-\r
- if (codigosOk) this.Db.set(aut);\r
-\r
- return codigosOk; \r
- \r
- }\r
-\r
- //PRE: No hay autorizaciones manuales y automaticas con mismo codigo!!\r
- public Autorizacion obtener(int codigo)\r
- { \r
- //Busco manual\r
- ArrayList al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionManual(codigo) ) );\r
- Autorizacion a = ((al.Count == 0)? null : al[0] ) as Autorizacion;\r
- \r
- if (null==a)\r
- //Busco automatica, si no hay manual para ese codigo\r
- {\r
- al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionAutomatica(codigo) ) );\r
- a = ((al.Count == 0)? null : al[0] ) as Autorizacion;\r
- }\r
- return a;\r
- }\r
-\r
+ }
+ #endregion Propiedades privadas
+
+ #region Métodos Públicos
+
+ /// <summary>
+ /// Guarda un pedido de autorizacion manual.
+ /// </summary>
+ public bool guardarAutorizacionManual(String codPrestacion, String cuitPrestador
+ , int codAfiliado, String observaciones)
+ {
+ bool codigosOk = true;
+
+ AutorizacionManual aut = new AutorizacionManual(DateTime.Now);
+
+ #region Se insancia prestador, prestacion y afiliado, y se asocia a aut
+ //Seteo prestacion
+
+ ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) );
+ if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion))
+ codigosOk=false;
+
+ //Seteo prestador
+ al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) );
+ if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador))
+ codigosOk=false;
+
+
+
+ //Seteo afiliado
+ al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) );
+ if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado))
+ codigosOk=false;
+
+ #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut
+ //Seteo fecha de vencimiento como dentro de 60 días
+ aut.FechaVencimiento = DateTime.Now.AddDays(60);
+
+
+ aut.Observaciones = observaciones;
+
+ //Signo prox codigo para autorizacion
+ AutoIncrementable c = new AutoIncrementable ();
+ using (c)
+ {
+ aut.Codigo = c.NextAutorizacion();
+ }
+
+ if (codigosOk) this.Db.set(aut);
+
+ return codigosOk;
+
+ }
+
+ //PRE: No hay autorizaciones manuales y automaticas con mismo codigo!!
+ public Autorizacion obtener(int codigo)
+ {
+ //Busco manual
+ /*ArrayList al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionManual(codigo) ) );
+ Autorizacion a = ((al.Count == 0)? null : al[0] ) as Autorizacion;*/
+ Query query = Db.query();
+ query.constrain(typeof(AutorizacionManual));
+ query.descend("_codigo").constrain(codigo);
+ ObjectSet result = query.execute ();
+
+ ArrayList al = ObjectSetToArrayList (result);
+
+ Autorizacion a = null;
+ try {
+ a = ((al.Count == 0)? null : al[0] ) as Autorizacion;
+ } catch (Exception e) {
+ Console.WriteLine ("Bad");
+ }
+ Console.WriteLine (a);
+
+ if (null==a) {
+ Console.WriteLine ("NO EXISTE AUTORIZACION MANUAL DE CODIGO {0}", codigo);
+ //Busco automatica, si no hay manual para ese codigo
+ al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionAutomatica(codigo) ) );
+ a = ((al.Count == 0)? null : al[0] ) as Autorizacion;
+ }
+ return a;
+ }
+