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 SumarTotales() { gvDetalle.BeginDataUpdate(); gvDetalle.RefreshData(); decimal totalbruto = VwRequerimientodetList.Where(w => w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Cantidad * s.Preciounitario); rTotalbruto.EditValue = totalbruto; decimal totalgravado = VwRequerimientodetList.Where(w => w.Gravado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); decimal totalinafecto = VwRequerimientodetList.Where(w => w.Inafecto && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); decimal totalexonerado = VwRequerimientodetList.Where(w => w.Exonerado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal); //Impuesto impuestoSel = ImpuestoList.FirstOrDefault(x => x.Idimpuesto == (int)iIdimpuesto.EditValue); if (VwRequerimientoSel != null) { decimal porcentajeImpuesto = VwRequerimientoSel.Porcentajeimpuesto; decimal factorImpuesto = 1 + (porcentajeImpuesto / 100); //sumart total percepcion gravados de impuesto decimal totalValorPercepcion = VwRequerimientodetList.Where( w => w.DataEntityState != DataEntityState.Deleted && w.Porcentajepercepcion > 0 && w.Gravado && w.Calcularitem).Sum(s => s.Importetotal * (s.Porcentajepercepcion / 100)); rPorcentajepercepcion.EditValue = totalValorPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0m; rImportetotalpercepcion.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalValorPercepcion : totalValorPercepcion * factorImpuesto, 2); rTotalgravado.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado / factorImpuesto : totalgravado, 2); rTotalinafecto.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalinafecto / factorImpuesto : totalinafecto, 2); rtotalexonerado.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalexonerado / factorImpuesto : totalexonerado, 2); rTotalimpuesto.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado - (decimal)rTotalgravado.EditValue : totalgravado * porcentajeImpuesto / 100, 2); rImportetotal.EditValue = (decimal)rTotalgravado.EditValue + (decimal)rTotalinafecto.EditValue + (decimal)rtotalexonerado.EditValue + +(decimal)rTotalimpuesto.EditValue; rTotaldocumento.EditValue = (decimal)rImportetotal.EditValue + (decimal)rImportetotalpercepcion.EditValue; } gvDetalle.EndDataUpdate(); gvDetalle.BestFitColumns(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; } }
private void bmMntItems_ItemClick(object sender, ItemClickEventArgs e) { var subMenu = e.Item as BarSubItem; if (subMenu != null) { return; } switch (e.Item.Name) { case "btnImportar": if (!Validaciones()) { return; } VwRequerimientoSel = (VwRequerimiento)gvConsulta.GetFocusedRow(); foreach (var item in VwRequerimientodetList.Where(x => x.Itemseleccionado)) { VwRequerimientodet vwRequerimientodet = new VwRequerimientodet(); vwRequerimientodet.Idrequerimiento = 0; vwRequerimientodet.Numeroitem = 0; vwRequerimientodet.Idarticulo = item.Idarticulo; vwRequerimientodet.Codigoarticulo = item.Codigoarticulo; vwRequerimientodet.Codigoproveedor = item.Codigoproveedor; vwRequerimientodet.Idunidadmedida = item.Idunidadmedida; vwRequerimientodet.Nombremarca = item.Nombremarca; vwRequerimientodet.Nombrearticulo = item.Nombrearticulo; vwRequerimientodet.Cantidad = item.Cantidadaimportar; vwRequerimientodet.Cantidadinicial = item.Cantidadaimportar; vwRequerimientodet.Idunidadmedida = item.Idunidadmedida; vwRequerimientodet.Abrunidadmedida = item.Abrunidadmedida; vwRequerimientodet.Preciounitario = item.Preciounitario; vwRequerimientodet.Especificacion = item.Especificacion; vwRequerimientodet.Importetotal = 0m; vwRequerimientodet.Idimpuesto = item.Idimpuesto; vwRequerimientodet.Idtipoafectacionigv = item.Idtipoafectacionigv; vwRequerimientodet.Gravado = item.Gravado; vwRequerimientodet.Exonerado = item.Exonerado; vwRequerimientodet.Inafecto = item.Inafecto; vwRequerimientodet.Exportacion = item.Exportacion; vwRequerimientodet.Idcentrodecosto = item.Idcentrodecosto; vwRequerimientodet.Codigocentrodecosto = item.Codigocentrodecosto; vwRequerimientodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto; vwRequerimientodet.Porcentajepercepcion = 0m; vwRequerimientodet.Idrequerimientodet = 0; vwRequerimientodet.DataEntityState = DataEntityState.Added; vwRequerimientodet.NumerordendetrabajoImportado = VwRequerimientoSel.Numerordendetrabajo; TipoMnt = vwRequerimientodet.Idrequerimientodet <= 0 ? TipoMantenimiento.Nuevo : TipoMantenimiento.Modificar; //Los items por defecto se calculan vwRequerimientodet.Calcularitem = item.Calcularitem; //Si es un articulo compuesto agregar detalle if (vwRequerimientodet.Calcularitem) { AsignarDetalleDeArticulosCompuestos(item); } 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; } //sgtItem++; VwRequerimientodetACopiarList.Add(vwRequerimientodet); } DialogResult = DialogResult.OK; break; case "btnCancelarItem": DialogResult = DialogResult.Cancel; break; case "btnConsultar": if (!ValidacionDatosConsulta()) { return; } CargarRequerimientos(); break; case "btnCerrar": DialogResult = DialogResult.Cancel; break; } }