Exemplo n.º 1
0
        void grabar()
        {
            try
            {
                string msg = "";
                cmbEstadoApro.Focus();

                foreach (var item in LstOC)
                {
                    if (item.check == true)
                    {
                        switch (item.IdEstadoAprobacion_cat)
                        {
                        case "ANU":
                            item.FechaHoraAnul   = param.Fecha_Transac;
                            item.IdUsuarioUltAnu = param.IdUsuario;
                            item.MotivoAnulacion = "O/C Anulada x " + item.MotivoReprobacion;
                            if (item.MotivoAnulacion.Length > 499)
                            {
                                item.MotivoAnulacion = item.MotivoAnulacion.Substring(0, 498);
                            }


                            if (BusOC.ReversarOC(item, ref msg))
                            {
                                MessageBox.Show("Se ha Anulado la Orden de Compra No." +
                                                item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }


                            break;

                        case "APRO":

                            item.co_fecha_aprobacion = DateTime.Now;
                            item.IdUsuario_Aprueba   = param.IdUsuario;
                            item.MotivoReprobacion   = "O/C Aprobada x " + item.MotivoReprobacion;
                            if (item.MotivoReprobacion.Length > 499)
                            {
                                item.MotivoReprobacion = item.MotivoReprobacion.Substring(0, 498);
                            }

                            if (BusOC.Modificar_Estado_Aprob(item, ref msg))
                            {
                                MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." +
                                                item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }

                            break;

                        case "xAPRO":

                            // MessageBox.Show("LA OPCION DE DESAPROBAR ESTA BLOQUEADA TEMPORALMENTE ..OC#" + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


                            if (BusOC.Modificar_Estado_Aprob(item, ref msg))
                            {
                                MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." +
                                                item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }

                            break;

                        case "REP":

                            item.IdUsuario_Reprue  = param.IdUsuario;
                            item.co_fechaReproba   = param.Fecha_Transac;
                            item.MotivoReprobacion = "O/C Reprobada x " + item.MotivoReprobacion;
                            if (item.MotivoReprobacion.Length > 499)
                            {
                                item.MotivoReprobacion = item.MotivoReprobacion.Substring(0, 498);
                            }

                            if (BusOC.Modificar_Estado_Aprob(item, ref msg))
                            {
                                MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." +
                                                item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }

                            break;

                        default:
                            break;
                        }
                    }
                }
                LimpiarDatos();
                cmbEstadoApro.EditValue = "xAPRO";
                buscar();
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }