예제 #1
0
        private bool Aprobar()
        {
            try
            {
                gvDetalle.MoveNext();
                cmbSucursalDestino.Focus();
                if (!Validar())
                {
                    return(false);
                }
                var temp = blstDet.Where(q => q.A == true || q.R == true).GroupBy(q => new { q.IdEmpresa, q.IdSucursalOrigen, q.IdBodegaOrigen, q.IdTransferencia }).FirstOrDefault();
                in_transferencia_Info info = new in_transferencia_Info
                {
                    IdEmpresa        = temp.Key.IdEmpresa,
                    IdSucursalOrigen = temp.Key.IdSucursalOrigen,
                    IdBodegaOrigen   = temp.Key.IdBodegaOrigen,
                    IdTransferencia  = temp.Key.IdTransferencia,
                    IdUsuario        = param.IdUsuario
                };
                info           = busTransferencia.Get_Info_transferencia(param.IdEmpresa, info.IdSucursalOrigen, info.IdBodegaOrigen, info.IdTransferencia);
                info.IdUsuario = param.IdUsuario;
                info.lista_detalle_transferencia = blstDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursalOrigen == info.IdSucursalOrigen && q.IdBodegaOrigen == info.IdBodegaOrigen && q.IdTransferencia == info.IdTransferencia).ToList();
                if (info.lista_detalle_transferencia.Where(q => q.A == true).Count() > 0)
                {
                    if (busTransferencia.Aprobar(info))
                    {
                        MessageBox.Show("Transferencia aprobada exitósamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return(true);
                    }
                    else
                    {
                        MessageBox.Show("Ha ocurrido un error", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    if (busTransferencia.AnularDB(info))
                    {
                        MessageBox.Show("Transferencia anulada exitósamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return(true);
                    }
                }

                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #2
0
        private bool AccionGrabar()
        {
            try
            {
                bool   Res     = false;
                string mensaje = "Registro {0} exitósamente";
                switch (Accion)
                {
                case Cl_Enumeradores.eTipo_action.grabar:
                    if (!Validar())
                    {
                        return(false);
                    }
                    GetInfo();
                    Res     = busTransferencia.Guardar(infoTransferencia);
                    mensaje = mensaje.Replace("{0}", "guardado");
                    break;

                case Cl_Enumeradores.eTipo_action.actualizar:
                    if (!Validar())
                    {
                        return(false);
                    }
                    GetInfo();
                    Res     = busTransferencia.Modificar(infoTransferencia);
                    mensaje = mensaje.Replace("{0}", "actualizado");
                    break;

                case Cl_Enumeradores.eTipo_action.Anular:
                    infoTransferencia.IdUsuario = param.IdUsuario;
                    Res     = busTransferencia.AnularDB(infoTransferencia);
                    mensaje = mensaje.Replace("{0}", "anulado");
                    break;
                }
                if (Res)
                {
                    var lstoc = infoTransferencia.lista_detalle_transferencia.Where(q => q.IdOrdenCompra != null).ToList();
                    foreach (var item in lstOCDet)
                    {
                        if (lstoc.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal_oc == item.IdSucursal_oc && q.IdOrdenCompra == item.IdOrdenCompra && q.Secuencia_oc == item.Secuencia_oc).Count() == 0)
                        {
                            lstoc.Add(item);
                        }
                    }
                    foreach (var OCD in lstoc)
                    {
                        busPedido.ValidarProceso(OCD.IdEmpresa, OCD.IdSucursal_oc ?? 0, OCD.IdOrdenCompra ?? 0, OCD.Secuencia_oc ?? 0);
                    }

                    MessageBox.Show(mensaje, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

                    if (Accion != Cl_Enumeradores.eTipo_action.Anular && MessageBox.Show("Desea imprimir la transferencia?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        Imprimir();
                    }
                }
                else
                {
                    MessageBox.Show("No se ha podido completar la transacción", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                return(Res);
            }
            catch (Exception ex)
            {
                busLogError.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }