public ActionResult LiquidarCreate(int ID) { ViaticoWS.Viatico viaticoObtenido = new ViaticoWS.Viatico(); LiquidacionesWS.Liquidar liquidacionObtenida = new LiquidacionesWS.Liquidar(); LiquidacionesWS.Solicitud solicitudObtenida = new LiquidacionesWS.Solicitud(); LiquidacionesWS.SolicitudDetalle solicitudDetalleObtenida = new LiquidacionesWS.SolicitudDetalle(); LiquidacionesWS.SolicitudDetallePK solicitudDetallePKObtenida = new LiquidacionesWS.SolicitudDetallePK(); LiquidacionesWS.TipoViatico tipoViaticoObtenida = new LiquidacionesWS.TipoViatico(); LiquidacionesWS.Ubigeo ubigeoOri = new LiquidacionesWS.Ubigeo(); LiquidacionesWS.Ubigeo ubigeoDest = new LiquidacionesWS.Ubigeo(); viaticoObtenido = proxy2.ObtenerSolicitud(ID); solicitudObtenida.Co_Solicitud = viaticoObtenido.CodigoSolicitud; solicitudObtenida.Fe_Solicitud = viaticoObtenido.FechaSolicitud; solicitudObtenida.Co_EmpSolicitante = viaticoObtenido.CodigoEmpleadoSolicitante; ubigeoOri.CodigoUbigeo = viaticoObtenido.ubigeoOrigen.CodigoUbigeo; ubigeoOri.NoDescripcion = viaticoObtenido.ubigeoOrigen.NoDescripcion; solicitudObtenida.ubigeoOrigen = ubigeoOri; ubigeoDest.CodigoUbigeo = viaticoObtenido.ubigeoDestino.CodigoUbigeo; ubigeoDest.NoDescripcion = viaticoObtenido.ubigeoDestino.NoDescripcion; solicitudObtenida.ubigeoDestino = ubigeoDest; solicitudObtenida.Fe_Salida = viaticoObtenido.FechaSalida; solicitudObtenida.Fe_Retorno = viaticoObtenido.FechaRetorno; solicitudObtenida.Tx_Sustento = viaticoObtenido.SustentoViaje; solicitudObtenida.Ss_TotalSolicitado = viaticoObtenido.TotalSolicitado; LiquidacionesWS.SolicitudDetalle[] item = new LiquidacionesWS.SolicitudDetalle[viaticoObtenido.Detalles.Count]; //LiquidacionesWS.LiquidarDetalle[] item = new LiquidacionesWS.LiquidarDetalle[viaticoObtenido.Detalles.Count]; for (int i = 0; i < viaticoObtenido.Detalles.Count; i++) { item[i] = new SolicitudDetalle(); //item[i] = new LiquidarDetalle(); item[i].PK = new SolicitudDetallePK(); //item[i].PK = new LiquidarDetallePK(); item[i].PK.TipoViatico = new TipoViatico(); item[i].PK.TipoViatico.Co_TipoViatico = viaticoObtenido.Detalles[i].PK.TipoViatico.Co_TipoViatico; item[i].PK.TipoViatico.No_Descripcion = viaticoObtenido.Detalles[i].PK.TipoViatico.No_Descripcion; item[i].PK.Solicitud = viaticoObtenido.Detalles[i].PK.Viatico; item[i].Ss_MontoSolicitado = viaticoObtenido.Detalles[i].Ss_MontoSolicitado; } solicitudObtenida.Detalles = item; liquidacionObtenida.solicitud = solicitudObtenida; return View(liquidacionObtenida); }
public void TestMethod1() { try { LiquidacionesWS.LiquidacionesClient proxy = new LiquidacionesWS.LiquidacionesClient(); LiquidacionesWS.Liquidar liquidar = new LiquidacionesWS.Liquidar(); liquidar = proxy.CrearLiquidacion(DateTime.Parse("14/07/2014 0:00:00"), int.Parse("2"), Double.Parse("120.00"), Double.Parse("100.00"), Double.Parse("21.00")); Assert.IsNotNull(liquidar); } catch (FaultException<ValidationException> ex) { Assert.AreEqual("Otros Gastos no puede ser mayor al 20% del monto utilizado.", ex.Message); } }
public ActionResult LiquidarCreate(FormCollection collection) { try { ViaticoWS.Viatico viaticoObtenido = new ViaticoWS.Viatico(); LiquidacionesWS.Liquidar liquidacionObtenida = new LiquidacionesWS.Liquidar(); LiquidacionesWS.Solicitud solicitudObtenida = new LiquidacionesWS.Solicitud(); LiquidacionesWS.SolicitudDetalle solicitudDetalleObtenida = new LiquidacionesWS.SolicitudDetalle(); LiquidacionesWS.SolicitudDetallePK solicitudDetallePKObtenida = new LiquidacionesWS.SolicitudDetallePK(); LiquidacionesWS.TipoViatico tipoViaticoObtenida = new LiquidacionesWS.TipoViatico(); LiquidacionesWS.Ubigeo ubigeoOri = new LiquidacionesWS.Ubigeo(); LiquidacionesWS.Ubigeo ubigeoDest = new LiquidacionesWS.Ubigeo(); viaticoObtenido = proxy2.ObtenerSolicitud(int.Parse(collection["solicitud.Co_Solicitud"])); solicitudObtenida.Co_Solicitud = viaticoObtenido.CodigoSolicitud; solicitudObtenida.Fe_Solicitud = viaticoObtenido.FechaSolicitud; solicitudObtenida.Co_EmpSolicitante = viaticoObtenido.CodigoEmpleadoSolicitante; ubigeoOri.CodigoUbigeo = viaticoObtenido.ubigeoOrigen.CodigoUbigeo; ubigeoOri.NoDescripcion = viaticoObtenido.ubigeoOrigen.NoDescripcion; solicitudObtenida.ubigeoOrigen = ubigeoOri; ubigeoDest.CodigoUbigeo = viaticoObtenido.ubigeoDestino.CodigoUbigeo; ubigeoDest.NoDescripcion = viaticoObtenido.ubigeoDestino.NoDescripcion; solicitudObtenida.ubigeoDestino = ubigeoDest; solicitudObtenida.Fe_Salida = viaticoObtenido.FechaSalida; solicitudObtenida.Fe_Retorno = viaticoObtenido.FechaRetorno; solicitudObtenida.Tx_Sustento = viaticoObtenido.SustentoViaje; solicitudObtenida.Ss_TotalSolicitado = viaticoObtenido.TotalSolicitado; LiquidacionesWS.Item[] item = new LiquidacionesWS.Item[viaticoObtenido.Detalles.Count]; for (int i = 0; i < viaticoObtenido.Detalles.Count; i++) { LiquidacionesWS.Item itemY = new LiquidacionesWS.Item(); itemY.Co_TipoViatico = viaticoObtenido.Detalles[i].PK.TipoViatico.Co_TipoViatico; itemY.Ss_MontoUtilizado = viaticoObtenido.Detalles[i].Ss_MontoSolicitado; item[i] = itemY; } proxy.CrearLiquidacion( DateTime.Today, solicitudObtenida.Co_Solicitud, solicitudObtenida.Ss_TotalSolicitado, solicitudObtenida.Ss_TotalSolicitado, Double.Parse(collection["Ss_OtrosGastos"]), item ); return RedirectToAction("Index"); }catch (Exception e){ return View(); } }