public Boolean GuardarDB(com_solicitud_compra_Info info) { try { using (EntitiesCompras Context = new EntitiesCompras()) { var Address = new com_solicitud_compra(); Address.IdEmpresa = info.IdEmpresa; Address.IdSucursal = info.IdSucursal; Address.IdSolicitudCompra = info.IdSolicitudCompra = GetId(info.IdEmpresa, info.IdSucursal); Address.NumDocumento = info.NumDocumento; Address.IdComprador = info.IdComprador; Address.IdDepartamento = Convert.ToInt32(info.IdDepartamento); Address.fecha = Convert.ToDateTime(info.fecha.ToShortDateString()); Address.plazo = 0; Address.fecha_vtc = Convert.ToDateTime(info.fecha.ToShortDateString()); Address.observacion = info.observacion; Address.Estado = "A"; Address.IdSolicitante = info.IdSolicitante; Address.Fecha_Transac = info.Fecha_Transac; Address.IdEstadoAprobacion = info.IdEstadoAprobacion; Address.IdUsuarioAprobo = (info.IdUsuarioAprobo == null) ? "" : Convert.ToString(info.IdUsuarioAprobo); Address.MotivoAprobacion = (info.MotivoAprobacion == null) ? "" : Convert.ToString(info.MotivoAprobacion); Address.FechaHoraAprobacion = info.FechaHoraAprobacion; Context.com_solicitud_compra.Add(Address); Context.SaveChanges(); com_solicitud_compra_det_Data odata = new com_solicitud_compra_det_Data(); foreach (var item in info.DetSolicitudCompra) { item.IdEmpresa = info.IdEmpresa; item.IdSucursal = info.IdSucursal; item.IdSolicitudCompra = info.IdSolicitudCompra; } odata.GuardarDB(info.DetSolicitudCompra); } return(true); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.InnerException + " " + ex.Message; throw new Exception(ex.InnerException.ToString()); } }
public Boolean ModificarDB(com_solicitud_compra_Info info) { try { using (EntitiesCompras context = new EntitiesCompras()) { var contact = context.com_solicitud_compra.FirstOrDefault(var => var.IdEmpresa == info.IdEmpresa && var.IdSucursal == info.IdSucursal && var.IdSolicitudCompra == info.IdSolicitudCompra); if (contact != null) { contact.NumDocumento = info.NumDocumento; contact.IdSolicitante = info.IdSolicitante; contact.IdComprador = info.IdComprador; contact.IdDepartamento = Convert.ToInt32(info.IdDepartamento); contact.fecha = Convert.ToDateTime(info.fecha.ToShortDateString()); contact.observacion = info.observacion; contact.Fecha_UltMod = info.Fecha_UltMod; contact.IdUsuarioUltMod = info.IdUsuarioUltMod; context.SaveChanges(); // consulta detalle PRE aprobacion com_solicitud_compra_det_pre_aprobacion_Data odataPreApro = new com_solicitud_compra_det_pre_aprobacion_Data(); List <com_solicitud_compra_det_pre_aprobacion_Info> listPreApro; listPreApro = new List <com_solicitud_compra_det_pre_aprobacion_Info>(odataPreApro.Get_List_solicitud_compra_det_Pre_aprobacion(info.IdEmpresa, info.IdSucursal, info.IdSolicitudCompra)); if (listPreApro.Count() != 0) { // elimino detalle aprobacion odataPreApro.EliminarDB(info.IdEmpresa, info.IdSucursal, info.IdSolicitudCompra); } // consulta detalle aprobacion com_solicitud_compra_det_aprobacion_Data odataApro = new com_solicitud_compra_det_aprobacion_Data(); List <com_solicitud_compra_det_aprobacion_Info> listApro; listApro = new List <com_solicitud_compra_det_aprobacion_Info>(odataApro.Get_List_solicitud_compra_det_aprobacion(info.IdEmpresa, info.IdSucursal, info.IdSolicitudCompra)); if (listApro.Count() != 0) { // elimino detalle aprobacion odataApro.EliminarDB(info.IdEmpresa, info.IdSucursal, info.IdSolicitudCompra); } // eliminar detalle solicitud com_solicitud_compra_det_Data odata = new com_solicitud_compra_det_Data(); odata.EliminarDB(info); listApro = new List <com_solicitud_compra_det_aprobacion_Info>(); listPreApro = new List <com_solicitud_compra_det_pre_aprobacion_Info>(); odata.GuardarDB(info.DetSolicitudCompra); foreach (var item in info.DetSolicitudCompra) { com_solicitud_compra_det_aprobacion_Info liaprobada = new com_solicitud_compra_det_aprobacion_Info(); item.IdEmpresa = info.IdEmpresa; item.IdSucursal = info.IdSucursal; item.IdSolicitudCompra = info.IdSolicitudCompra; liaprobada.IdEmpresa = item.IdEmpresa; liaprobada.IdSucursal_SC = item.IdSucursal; liaprobada.IdSolicitudCompra = item.IdSolicitudCompra; liaprobada.Secuencia_SC = item.Secuencia; liaprobada.IdProducto_SC = item.IdProducto; liaprobada.NomProducto_SC = item.NomProducto; liaprobada.Cantidad_aprobada = info.do_Cantidad; liaprobada.IdEstadoAprobacion = info.IdEstadoAprobacion; liaprobada.IdProveedor_SC = info.IdProveedor; liaprobada.IdUsuarioAprueba = info.IdUsuarioAprobo; liaprobada.FechaHoraAprobacion = DateTime.Now; liaprobada.do_observacion = info.observacion; liaprobada.IdUnidadMedida = info.IdUnidadMedida; liaprobada.do_precioCompra = item.Precio; liaprobada.do_porc_des = item.Porc_Descuento; liaprobada.do_descuento = item.Descuento; liaprobada.do_subtotal = item.Subtotal; liaprobada.do_iva = item.Iva; liaprobada.do_total = item.Total; liaprobada.IdCentroCosto = item.IdCentroCosto; liaprobada.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; liaprobada.IdPunto_cargo = item.IdPunto_cargo; listApro.Add(liaprobada); com_solicitud_compra_det_pre_aprobacion_Info InfoPreAprobada = new com_solicitud_compra_det_pre_aprobacion_Info(); InfoPreAprobada.IdEmpresa = item.IdEmpresa; InfoPreAprobada.IdSucursal_SC = item.IdSucursal; InfoPreAprobada.IdSolicitudCompra = item.IdSolicitudCompra; InfoPreAprobada.Secuencia_SC = item.Secuencia; InfoPreAprobada.IdEstadoAprobacion = info.IdEstadoAprobacion; InfoPreAprobada.IdUsuarioAprueba = info.IdUsuarioAprobo; InfoPreAprobada.FechaHoraAprobacion = DateTime.Now; InfoPreAprobada.observacion = ""; listPreApro.Add(InfoPreAprobada); } // graba detalle solicitud compra odataApro.GuardarDB(listApro); odataPreApro.GuardarDB(listPreApro); } } return(true); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.ToString(); throw new Exception(ex.ToString()); } }