Example #1
0
            public static List <Estructuras.DetalleOBC> salidas_abiertas()
            {
                using (var cServ = new ServiceProcess.ServiceAFN2())
                {
                    var result = new List <Estructuras.DetalleOBC>();
                    var data   = cServ.Repo.ObrasConstruccion.SalidasAbiertas();
                    foreach (PD.SV_ASSET_CONSTRUCTION dt in data)
                    {
                        var entrada = cServ.Repo.ObrasConstruccion.IngresoById((int)dt.entrada_id);
                        var linea   = new Estructuras.DetalleOBC();
                        linea.codigo      = entrada.id;
                        linea.descripcion = entrada.descrip;
                        linea.fecha       = dt.trx_date;
                        linea.zona        = dt.zone;
                        linea.saldo       = dt.TotalByCurrency("CLP");

                        linea.idSet(dt.id);
                        linea.maximoSet(entrada.ocupado);

                        result.Add(linea);
                    }

                    return(result);
                }
            }
Example #2
0
 public static List <Estructuras.DetalleOBC> saldos_entradas(DateTime moment, string CurrencyCode)
 {
     using (var cServ = new ServiceProcess.ServiceAFN2())
     {
         var result = new List <Estructuras.DetalleOBC>();
         try
         {
             var data       = cServ.Repo.ObrasConstruccion.SaldoEntradas(moment, CurrencyCode);
             var temporales = cServ.Repo.ObrasConstruccion.SalidasAbiertas();
             foreach (PD.SV_ASSET_CONSTRUCTION dt in data)
             {
                 decimal CantidadTomada = temporales
                                          .Where(tp => tp.entrada_id == dt.id)
                                          .Select(tp => tp.TotalByCurrency(CurrencyCode))
                                          .DefaultIfEmpty(0)
                                          .Sum();
                 var linea = new Estructuras.DetalleOBC();
                 linea.codigo      = dt.id;
                 linea.descripcion = dt.descrip;
                 linea.fecha       = dt.trx_date;
                 linea.zona        = dt.zone;
                 linea.saldo       = dt.ocupado - CantidadTomada;
                 result.Add(linea);
             }
         }
         catch (Exception e)
         {
             Mensaje.Error(e.StackTrace);
         }
         return(result);
     }
 }