private bool Validaciones() { if (gvConsulta.RowCount == 0 || gvDetalleImp.RowCount == 0) { XtraMessageBox.Show("No hay información requerimientos, verifique", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } int cantidadItemsSeleccionados = VwRequerimientodetList.Count(x => x.Itemseleccionado); if (cantidadItemsSeleccionados == 0) { XtraMessageBox.Show("Debe seleccionar los items a importar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } VwRequerimiento vwRequerimiento = (VwRequerimiento)gvConsulta.GetFocusedRow(); List <VwRequerimientodet> vwRequerimientodetListValidacionOt = VwRequerimientodetACopiarList.Where(x => x.DataEntityState != DataEntityState.Deleted).ToList(); if (vwRequerimientodetListValidacionOt.Count > 0 && vwRequerimiento.Numerordendetrabajo.Trim() != NumerordendetrabajoImportado.Trim()) { XtraMessageBox.Show("Ya seleccionar la OT " + NumerordendetrabajoImportado, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } switch (cboBuscarPor.SelectedIndex) { case 0: //Todos return(true); case 1: //Requerimiento if (string.IsNullOrEmpty(iNumeroreq.Text)) { XtraMessageBox.Show("Ingrese el numero de requerimiento.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); iNumeroreq.Focus(); return(false); } break; } return(true); }
private void btnActualizarEstado_Click(object sender, EventArgs e) { switch (Parametros.TipoConsultaReq) { case 0: //Pendiente de aprobacion break; case 1: //Req Aproados if (Service.RequerimientoTieneReferenciasOrdenDeCompra(VwRequerimientoSel.Idrequerimiento)) { XtraMessageBox.Show("Requerimiento ya tiene referencia en ordenes de compra.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } break; } if (gvConsulta.RowCount == 0) { XtraMessageBox.Show("No hay requerimientos pendientes de aprobación.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (gvDetalle.RowCount == 0) { XtraMessageBox.Show("El requerimiento no tiene items.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } int totalItemsSeleccionados = VwRequerimientodetList.Count(x => x.Aprobado); if (totalItemsSeleccionados == 0) { XtraMessageBox.Show("Debe seleccionar items a aprobar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } var idEstadoSel = iIdestadoreq.EditValue; if (idEstadoSel == null) { XtraMessageBox.Show("Seleccione el estado", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } switch (Parametros.IdEstadoReq) { case 0: // Pendientes de Aprobacion if (Service.RequerimientoAprobado(VwRequerimientoSel.Idrequerimiento)) { XtraMessageBox.Show("Requerimiento ya esta aprobado.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); CargarRequerimientos(); return; } break; case 1: // Aprobados break; } if (DialogResult.Yes == XtraMessageBox.Show("Desea actualizar el estado del requerimiento", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)) { Requerimiento requerimiento = Service.GetRequerimiento(x => x.Idrequerimiento == VwRequerimientoSel.Idrequerimiento); if (requerimiento != null) { int idRequerimientoSel = requerimiento.Idrequerimiento; requerimiento.Totalbruto = (decimal)rTotalbruto.EditValue; requerimiento.Totalgravado = (decimal)rTotalgravado.EditValue; requerimiento.Totalinafecto = (decimal)rTotalinafecto.EditValue; requerimiento.Totalexonerado = (decimal)rtotalexonerado.EditValue; requerimiento.Totalimpuesto = (decimal)rTotalimpuesto.EditValue; requerimiento.Importetotal = (decimal)rImportetotal.EditValue; requerimiento.Porcentajepercepcion = (decimal)rPorcentajepercepcion.EditValue; requerimiento.Importetotalpercepcion = (decimal)rImportetotalpercepcion.EditValue; requerimiento.Totaldocumento = (decimal)rTotaldocumento.EditValue; requerimiento.Idestadoreq = (int)iIdestadoreq.EditValue; //IdEstadoreq: 3 (Aprobado) requerimiento.Fechaaprobacion = (int)idEstadoSel == 3 ? (DateTime?)DateTime.Now : null; requerimiento.Idempleadoaprueba = SessionApp.UsuarioSel.Idusuario; requerimiento.Observacionaprobacion = iObservacionReq.Text.Trim(); Service.UpdateRequerimiento(requerimiento); foreach (var item in VwRequerimientodetList) { ////Eliminar los desaprobado //if (!item.Itemseleccionado) //{ // Service.DeleteRequerimientodet(item.Idrequerimientodet); //} //Si se modifico la cantidad if (item.DataEntityState == DataEntityState.Modified && item.Itemseleccionado) { Requerimientodet itemRedDet = Service.GetRequerimientodet(item.Idrequerimientodet); itemRedDet.Cantidad = item.Cantidad; itemRedDet.Importetotal = item.Importetotal; itemRedDet.Aprobado = item.Aprobado; Service.UpdateRequerimientodet(itemRedDet); } } if ((int)idEstadoSel == 3 || (int)idEstadoSel == 5) //Cuando este aprobado o desaprobado { Tipocp tipocpReq = Service.GetTipocp(x => x.Idtipocp == requerimiento.Idtipocp); if (tipocpReq != null) { //Insertar informacion de aprobacion de documento Documentoaprobacion documentoaprobacionReq = new Documentoaprobacion { Idtipodocmov = tipocpReq.Idtipodocmov, Iddocumentomov = requerimiento.Idrequerimiento, Empleadoaprueba = SessionApp.EmpleadoSel.Idempleado, Fechaaprobacion = DateTime.Now, Aprobado = true, Comentario = iObservacionReq.Text.Trim() }; int iddocumentoaprobacion = Service.SaveDocumentoaprobacion(documentoaprobacionReq); if (iddocumentoaprobacion > 0) { } } } //Si se cambia a registrado o desaprobado eliminar registros de documentoaprobacion if ((int)idEstadoSel == 1 || (int)idEstadoSel == 4 && idRequerimientoSel > 0) { //3:REQUERIMIENTO Service.EliminarReferenciasDocumentoAprobacion(3, idRequerimientoSel); } CargarRequerimientos(); } } }
private void bmMntItems_ItemClick(object sender, ItemClickEventArgs e) { var subMenu = e.Item as BarSubItem; if (subMenu != null) { return; } switch (e.Item.Name) { case "btnGrabarItem": if (!Validaciones()) { return; } VwRequerimientodet.Numeroitem = (int)iNumeroitem.EditValue; VwRequerimientodet.Codigoarticulo = iCodigoarticulo.Text.Trim(); VwRequerimientodet.Codigoproveedor = iCodigoproveedor.Text.Trim(); VwRequerimientodet.Nombrearticulo = beArticulo.Text.Trim(); VwRequerimientodet.Nombremarca = iMarcaarticulo.Text.Trim(); VwRequerimientodet.Cantidad = (decimal)iCantidad.EditValue; VwRequerimientodet.Preciounitario = (decimal)iPreciounitario.EditValue; VwRequerimientodet.Importetotal = (decimal)iImportetotal.EditValue; VwRequerimientodet.Descripcioncentrodecosto = iIdcentrodecosto.Text.Trim(); VwRequerimientodet.Especificacion = iEspecificacion.Text.Trim(); VwRequerimientodet.Idarticulo = (int?)iIdarticulo.EditValue; VwRequerimientodet.Idimpuesto = (int?)iIdimpuesto.EditValue; VwRequerimientodet.Idunidadmedida = (int)iIdunidadmedida.EditValue; VwRequerimientodet.Abrunidadmedida = iAbrunidadmedida.Text.Trim(); VwRequerimientodet.Idcentrodecosto = (int)iIdcentrodecosto.EditValue; Centrodecosto centroDeCostoSel = CentrodecostoList.FirstOrDefault(x => x.Idcentrodecosto == VwRequerimientodet.Idcentrodecosto); VwRequerimientodet.Codigocentrodecosto = centroDeCostoSel == null ? string.Empty : centroDeCostoSel.Codigocentrodecosto; VwRequerimientodet.Cantidadinicial = VwRequerimientodet.Cantidad; VwRequerimientodet.Idtipoafectacionigv = (int)iIdtipoafectacionigv.EditValue; VwRequerimientodet.Gravado = (bool)iGravado.EditValue; VwRequerimientodet.Exonerado = (bool)iExonerado.EditValue; VwRequerimientodet.Inafecto = (bool)iInafecto.EditValue; VwRequerimientodet.Exportacion = (bool)iExportacion.EditValue; VwRequerimientodet.Aprobado = true; VwRequerimientodet.Stock = (decimal)iStock.EditValue; VwRequerimientodet.Porcentajepercepcion = (decimal)nPorcentajepercepcion.EditValue; //Los items por defecto se calculan VwRequerimientodet.Calcularitem = (bool)iCalcularitem.EditValue; //Si es un articulo compuesto agregar detalle if ((bool)iCalcularitem.EditValue) { AsignarDetalleDeArticulosCompuestos(VwRequerimientodet.Idarticulo); } switch (TipoMnt) { case TipoMantenimiento.Nuevo: VwRequerimientodet.Createdby = SessionApp.UsuarioSel.Idusuario; VwRequerimientodet.Creationdate = DateTime.Now; break; case TipoMantenimiento.Modificar: VwRequerimientodet.Modifiedby = SessionApp.UsuarioSel.Idusuario; VwRequerimientodet.Lastmodified = DateTime.Now; break; } if (TipoMnt == TipoMantenimiento.Nuevo) { int cantReferenciasItem = VwRequerimientodetList.Count(x => x.Idarticulo == VwRequerimientodet.Idarticulo && x.Idunidadmedida == VwRequerimientodet.Idunidadmedida && x.DataEntityState != DataEntityState.Deleted); if (cantReferenciasItem > 0) { string mensaje = string.Format("El articulo {0} ya fue agregado ¿Desea continuar?", VwRequerimientodet.Nombrearticulo); if (DialogResult.No == XtraMessageBox.Show(mensaje, Resources.titPregunta, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)) { return; } } } switch (TipoMnt) { case TipoMantenimiento.Nuevo: VwRequerimientodet.DataEntityState = DataEntityState.Added; break; case TipoMantenimiento.Modificar: VwRequerimientodet.DataEntityState = DataEntityState.Modified; break; } DialogResult = DialogResult.OK; break; case "btnCancelarItem": DialogResult = DialogResult.Cancel; break; } }