예제 #1
0
        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);
        }
예제 #2
0
        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();
                }
            }
        }
예제 #3
0
        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;
            }
        }