public Boolean GrabarDB(ref caj_Caja_Movimiento_Info info, ref string MensajeError) { try { Boolean res = true; // grabar diario caja ct_Cbtecble_Bus CbteCble_Data = new ct_Cbtecble_Bus(); decimal idCbteCble = 0; if (CbteCble_Data.GrabarDB(info.Info_CbteCble_x_Caja_Movi, ref idCbteCble, ref MensajeError)) { // GrabarDB caja info.IdCbteCble = idCbteCble; info.IdTipocbte = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte; string IdTipo_Docu = string.Empty; if (info.cm_Signo == "+") { IdTipo_Docu = "RECIB_CAJA"; } else { IdTipo_Docu = "VALE_CAJA"; } info.IdPeriodo = info.Info_CbteCble_x_Caja_Movi.IdPeriodo; if (data.GrabarDB(info, ref MensajeError)) { string mensaje = ""; cp_orden_pago_cancelaciones_Bus bus_pagoCance = new cp_orden_pago_cancelaciones_Bus(); foreach (var item in info.List_OrdenCan) { if (item.IdOrdenPago_op > 0) { item.IdEmpresa_pago = info.Info_CbteCble_x_Caja_Movi.IdEmpresa; item.IdCbteCble_pago = idCbteCble; item.IdTipoCbte_pago = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte; bus_pagoCance.GuardarDB(item, info.Info_CbteCble_x_Caja_Movi.IdEmpresa, ref mensaje); } else { //// no hay OP hay q generarla cp_orden_pago_Bus BusOP = new cp_orden_pago_Bus(); cp_orden_pago_Info InfoOP = new cp_orden_pago_Info(); cp_orden_pago_det_Info Info_det_OP = new cp_orden_pago_det_Info(); List <cp_orden_pago_det_Info> List_Info_det_OP = new List <cp_orden_pago_det_Info>(); decimal IdOP = 0; InfoOP.IdEmpresa = info.Info_CbteCble_x_Caja_Movi.IdEmpresa; InfoOP.IdEntidad = Convert.ToDecimal(item.IdEntidad); InfoOP.IdEstadoAprobacion = "APRO"; InfoOP.IdFormaPago = "EFEC"; InfoOP.IdTipo_Persona = item.IdTipo_Persona; InfoOP.IdOrdenPago = 0; InfoOP.IdPersona = item.IdPersona; InfoOP.IdTipo_op = item.IdTipo_op; InfoOP.Observacion = "O/P x Generada por Cruze con EG/Cja.."; InfoOP.Saldo = 0; InfoOP.Total_cancelado = Convert.ToDecimal(item.MontoAplicado); InfoOP.Total_OP = Convert.ToDecimal(item.MontoAplicado); ///////////// Info_det_OP.IdEmpresa = InfoOP.IdEmpresa; Info_det_OP.IdOrdenPago = 0; Info_det_OP.Secuencia = 1; Info_det_OP.IdEmpresa_cxp = item.IdEmpresa_cxp; Info_det_OP.IdTipoCbte_cxp = item.IdTipoCbte_cxp; Info_det_OP.IdCbteCble_cxp = item.IdCbteCble_cxp; Info_det_OP.Valor_a_pagar = item.MontoAplicado; Info_det_OP.Referencia = ""; Info_det_OP.IdFormaPago = "EFEC"; Info_det_OP.Fecha_Pago = DateTime.Now; Info_det_OP.IdEstadoAprobacion = "APRO"; Info_det_OP.Idbanco = 1; Info_det_OP.IdUsuario_Aproba = ""; Info_det_OP.fecha_hora_Aproba = DateTime.Now; Info_det_OP.Motivo_aproba = "x conciliacion con NC cxp"; List_Info_det_OP.Add(Info_det_OP); InfoOP.Detalle = List_Info_det_OP; BusOP.GuardaDB(InfoOP, ref IdOP, ref mensaje); item.IdEmpresa_pago = info.Info_CbteCble_x_Caja_Movi.IdEmpresa; item.IdCbteCble_pago = info.Info_CbteCble_x_Caja_Movi.IdCbteCble; item.IdTipoCbte_pago = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte; item.IdEmpresa_op = InfoOP.IdEmpresa; item.IdOrdenPago_op = IdOP; item.Secuencia_op = Info_det_OP.Secuencia; item.Observacion = "Cruze /Egr Caja"; bus_pagoCance.GuardarDB(item, info.Info_CbteCble_x_Caja_Movi.IdEmpresa, ref mensaje); //info.DetalleMovCaja caj_Caja_Movimiento_det_Bus BusDetCaja = new caj_Caja_Movimiento_det_Bus(); BusDetCaja.ModificarDB_IdOP_x_Det(info.Info_CbteCble_x_Caja_Movi.IdEmpresa, info.Info_CbteCble_x_Caja_Movi.IdCbteCble, info.Info_CbteCble_x_Caja_Movi.IdTipoCbte, item.Secuencia, InfoOP.IdEmpresa, IdOP, ref mensaje); } } } else { res = false; } } else { res = false; } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex) { EntityType = typeof(caj_Caja_Movimiento_Bus) }; } }