private void Limpiar() { try { info = new com_CotizacionPedido_Info(); txtIdCotizacion.Text = string.Empty; txtProveedor.Text = string.Empty; txtComprador.Text = string.Empty; txtObservacion.Text = string.Empty; txtPlazo.Text = string.Empty; txtSolicitante.Text = string.Empty; txtSucursal.Text = string.Empty; txtTerminoPago.Text = string.Empty; deFecha.DateTime = DateTime.Now.Date; txtObservacionAdicional.Text = string.Empty; blst = new BindingList <com_CotizacionPedidoDet_Info>(); gc_detalle.DataSource = blst; btnAnular.Visible = false; btnAprobar.Visible = false; btnPasar.Visible = false; MessageBox.Show("No existen cotizaciones pendientes de aprobar", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } catch (Exception) { } }
public com_CotizacionPedido_Info GetInfoAprobar(int IdEmpresa, decimal IdCotizacion) { try { com_CotizacionPedido_Info info = new com_CotizacionPedido_Info(); using (SqlConnection connection = new SqlConnection(ConexionERP.GetConnectionString())) { connection.Open(); string query = "select a.IdEmpresa,a.IdCotizacion, a.IdSucursal, a.IdProveedor, a.IdTerminoPago, a.cp_Fecha, a.cp_Plazo, " + " a.cp_Observacion, a.IdComprador,a.IdSolicitante, a.IdDepartamento, a.EstadoJC, a.EstadoGA, a.cp_PlazoEntrega, " + " a.cp_ObservacionAdicional, b.IdOrdenPedidoReg" + " from com_CotizacionPedido as a inner join " + " com_OrdenPedido as b on a.IdEmpresa = b.IdEmpresa and a.IdOrdenPedido = b.IdOrdenPedido" + " where a.IdEmpresa = " + IdEmpresa.ToString() + " and a.IdCotizacion = " + IdCotizacion.ToString(); SqlCommand command = new SqlCommand(query, connection); var Validate = command.ExecuteScalar(); if (Validate == null) { return(null); } SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { info = new com_CotizacionPedido_Info { IdEmpresa = Convert.ToInt32(reader["IdEmpresa"]), IdCotizacion = Convert.ToDecimal(reader["IdCotizacion"]), IdSucursal = Convert.ToInt32(reader["IdSucursal"]), IdProveedor = Convert.ToDecimal(reader["IdProveedor"]), IdTerminoPago = Convert.ToString(reader["IdTerminoPago"]), cp_Fecha = Convert.ToDateTime(reader["cp_Fecha"]), cp_Plazo = Convert.ToInt32(reader["cp_Plazo"]), cp_Observacion = Convert.ToString(reader["cp_Observacion"]), IdComprador = Convert.ToInt32(reader["IdComprador"]), IdSolicitante = Convert.ToInt32(reader["IdSolicitante"]), IdDepartamento = Convert.ToInt32(reader["IdDepartamento"]), EstadoJC = Convert.ToString(reader["EstadoJC"]), EstadoGA = Convert.ToString(reader["EstadoGA"]), cp_PlazoEntrega = Convert.ToInt32(reader["cp_PlazoEntrega"]), cp_ObservacionAdicional = Convert.ToString(reader["cp_ObservacionAdicional"]), IdOrdenPedidoReg = string.IsNullOrEmpty(reader["IdOrdenPedidoReg"].ToString()) ? null : (decimal?)reader["IdOrdenPedidoReg"] }; } reader.Close(); } return(info); } catch (Exception) { throw; } }
public FrmCom_CotizacionAprobacionGA() { blst = new BindingList <com_CotizacionPedidoDet_Info>(); bus_cotizacion = new com_CotizacionPedido_Bus(); bus_det = new com_CotizacionPedidoDet_Bus(); param = cl_parametrosGenerales_Bus.Instance; info = new com_CotizacionPedido_Info(); bus_pedido = new com_OrdenPedido_Bus(); InitializeComponent(); }
public bool AprobarDB(com_CotizacionPedido_Info info, string Cargo) { try { return(odata.AprobarDB(info, Cargo)); } catch (Exception) { throw; } }
public bool GuardarDB(com_CotizacionPedido_Info info) { try { return(odata.GuardarDB(info)); } catch (Exception) { throw; } }
private void CargarCotizacion() { try { info = bus_cotizacion.GetInfoAprobar(param.IdEmpresa, param.IdUsuario, "JC"); SetCotizacion(); } catch (Exception) { } }
private void cmb_imagen_Click(object sender, EventArgs e) { try { com_CotizacionPedido_Info row = (com_CotizacionPedido_Info)gv_consulta.GetFocusedRow(); if (row == null) { return; } info = row; this.Close(); } catch (Exception) { } }
private void btnBuscarHistorico_Click(object sender, EventArgs e) { try { FrmCom_CotizacionConsulta frm = new FrmCom_CotizacionConsulta(); frm.Cargo = "HIS"; frm.ShowDialog(); if (frm.info != null && frm.info.IdCotizacion > 0) { info = frm.info; SetCotizacion(); } } catch (Exception) { } }
private void gv_detalle_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { com_CotizacionPedido_Info row = (com_CotizacionPedido_Info)gv_detalle.GetRow(e.RowHandle); if (row == null) { return; } if (e.Column == col_TerminoPago) { var termino = lst_termino.Where(q => q.IdTerminoPago == row.IdTerminoPago).FirstOrDefault(); if (termino == null) { return; } row.cp_Plazo = termino.Dias; } }
private void gv_consulta_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) { try { com_CotizacionPedido_Info row = (com_CotizacionPedido_Info)gv_consulta.GetRow(e.RowHandle); if (row != null) { if (row.EstadoJC == "A") { e.Appearance.ForeColor = Color.Blue; } else if (row.EstadoJC == "X") { e.Appearance.ForeColor = Color.Red; } } } catch (Exception) { } }
private void gv_consulta_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { try { com_CotizacionPedido_Info row = (com_CotizacionPedido_Info)gv_consulta.GetRow(e.FocusedRowHandle); if (row != null) { if (row.EstadoJC == "A") { gv_consulta.Appearance.FocusedRow.ForeColor = Color.Blue; gv_consulta.Appearance.FocusedCell.ForeColor = Color.Blue; } else if (row.EstadoJC == "X") { gv_consulta.Appearance.FocusedRow.ForeColor = Color.Red; gv_consulta.Appearance.FocusedCell.ForeColor = Color.Red; } } } catch (Exception) { } }
public com_CotizacionPedido_Info GetInfoAprobar(int IdEmpresa, string IdUsuario, string Cargo) { try { com_CotizacionPedido_Info info = new com_CotizacionPedido_Info(); using (SqlConnection connection = new SqlConnection(ConexionERP.GetConnectionString())) { connection.Open(); string query = "SELECT TOP 1 c.IdEmpresa, c.IdCotizacion, c.IdSucursal, c.IdProveedor, c.IdTerminoPago, c.cp_Fecha, c.cp_Plazo, c.cp_Observacion, " + " c.IdComprador, c.IdSolicitante, c.IdDepartamento, c.EstadoJC, c.EstadoGA, suc.Su_Descripcion, " + " per.pe_nombreCompleto, tp.Descripcion AS TerminoPago, com.Descripcion AS Comprador, sol.nom_solicitante, dep.nom_departamento, CASE WHEN saltar.IdEmpresa IS NULL THEN CAST(0 AS bit) " + " ELSE CAST(1 AS bit) END AS Pasado, c.cp_PlazoEntrega, d.opd_IdOrdenPedido, c.cp_ObservacionAdicional, dbo.com_OrdenPedido.EsCompraUrgente, com_OrdenPedido.IdOrdenPedidoReg" + " FROM dbo.com_OrdenPedido RIGHT OUTER JOIN" + " (SELECT IdEmpresa, IdCotizacion, MAX(opd_IdOrdenPedido) AS opd_IdOrdenPedido" + " FROM dbo.com_CotizacionPedidoDet" + " GROUP BY IdEmpresa, IdCotizacion) AS d ON dbo.com_OrdenPedido.IdEmpresa = d.IdEmpresa AND dbo.com_OrdenPedido.IdOrdenPedido = d.opd_IdOrdenPedido RIGHT OUTER JOIN" + " dbo.com_departamento AS dep INNER JOIN" + " dbo.tb_persona AS per INNER JOIN" + " dbo.tb_sucursal AS suc INNER JOIN" + " dbo.com_CotizacionPedido AS c ON suc.IdEmpresa = c.IdEmpresa AND suc.IdSucursal = c.IdSucursal INNER JOIN" + " dbo.cp_proveedor AS pro ON c.IdEmpresa = pro.IdEmpresa AND c.IdProveedor = pro.IdProveedor ON per.IdPersona = pro.IdPersona INNER JOIN" + " dbo.com_TerminoPago AS tp ON c.IdTerminoPago = tp.IdTerminoPago INNER JOIN" + " dbo.com_comprador AS com ON c.IdEmpresa = com.IdEmpresa AND c.IdComprador = com.IdComprador INNER JOIN" + " dbo.com_solicitante AS sol ON c.IdSolicitante = sol.IdSolicitante AND c.IdEmpresa = sol.IdEmpresa ON dep.IdEmpresa = c.IdEmpresa AND dep.IdDepartamento = c.IdDepartamento LEFT OUTER JOIN" + " dbo.com_CotizacionPedidoSaltar AS saltar ON c.IdEmpresa = saltar.IdEmpresa AND c.IdCotizacion = saltar.IdCotizacion ON d.IdEmpresa = c.IdEmpresa AND d.IdCotizacion = c.IdCotizacion" + " WHERE (c.EstadoJC = 'P') and c.IdEmpresa = " + IdEmpresa.ToString() + " AND NOT EXISTS" + " (" + " SELECT f.IdEmpresa FROM com_CotizacionPedidoSaltar AS F" + " WHERE c.IdEmpresa = f.IdEmpresa and c.IdCotizacion = f.IdCotizacion and f.IdUsuario = '" + IdUsuario + "'" + " )"; SqlCommand command = new SqlCommand(query, connection); int EjecutarReader = 0; var Validation = command.ExecuteScalar(); if (Validation == null) { string queryDelete = "DELETE com_CotizacionPedidoSaltar WHERE IdEmpresa = " + IdEmpresa.ToString() + " and IdUsuario = '" + IdUsuario + "'"; SqlCommand commandDelete = new SqlCommand(queryDelete, connection); commandDelete.ExecuteNonQuery(); var ValidationAfterDelete = command.ExecuteScalar(); if (ValidationAfterDelete != null) { EjecutarReader = 1; } else { return(null); } } else { EjecutarReader = 1; } SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { info = new com_CotizacionPedido_Info { IdEmpresa = Convert.ToInt32(reader["IdEmpresa"]), IdCotizacion = Convert.ToDecimal(reader["IdCotizacion"]), IdSucursal = Convert.ToInt32(reader["IdSucursal"]), IdProveedor = Convert.ToDecimal(reader["IdProveedor"]), IdTerminoPago = Convert.ToString(reader["IdTerminoPago"]), cp_Fecha = Convert.ToDateTime(reader["cp_Fecha"]), cp_Plazo = Convert.ToInt32(reader["cp_Plazo"]), cp_Observacion = Convert.ToString(reader["cp_Observacion"]), IdComprador = Convert.ToDecimal(reader["IdComprador"]), IdSolicitante = Convert.ToDecimal(reader["IdSolicitante"]), IdDepartamento = Convert.ToDecimal(reader["IdDepartamento"]), EstadoJC = Convert.ToString(reader["EstadoJC"]), EstadoGA = Convert.ToString(reader["EstadoGA"]), Su_Descripcion = Convert.ToString(reader["Su_Descripcion"]), pe_nombreCompleto = Convert.ToString(reader["pe_nombreCompleto"]), TerminoPago = Convert.ToString(reader["TerminoPago"]), Comprador = Convert.ToString(reader["Comprador"]), nom_solicitante = Convert.ToString(reader["nom_solicitante"]), nom_departamento = Convert.ToString(reader["nom_departamento"]), Pasado = Convert.ToBoolean(reader["Pasado"]), cp_PlazoEntrega = Convert.ToInt32(reader["cp_PlazoEntrega"]), IdOrdenPedido = Convert.ToDecimal(reader["opd_IdOrdenPedido"]), cp_ObservacionAdicional = Convert.ToString(reader["cp_ObservacionAdicional"]), EsCompraUrgente = Convert.ToBoolean(reader["EsCompraUrgente"]), IdOrdenPedidoReg = string.IsNullOrEmpty(reader["IdOrdenPedidoReg"].ToString()) ? null : (decimal?)reader["IdOrdenPedidoReg"] }; } reader.Close(); } return(info); } catch (Exception) { throw; } }
public bool GuardarDB(com_CotizacionPedido_Info info) { try { EntitiesInventario dbi = new EntitiesInventario(); EntitiesGeneral dbg = new EntitiesGeneral(); int Contadot = 0; using (EntitiesCompras db = new EntitiesCompras()) { db.com_CotizacionPedido.Add(new com_CotizacionPedido { IdEmpresa = info.IdEmpresa, IdCotizacion = info.IdCotizacion = GetID(info.IdEmpresa), IdSucursal = info.IdSucursal, IdProveedor = info.IdProveedor, IdTerminoPago = info.IdTerminoPago, cp_Fecha = info.cp_Fecha, cp_Plazo = info.cp_Plazo, IdOrdenPedido = info.IdOrdenPedido, cp_Observacion = info.cp_Observacion, IdComprador = info.IdComprador, IdDepartamento = info.IdDepartamento, IdSolicitante = Convert.ToInt32(info.IdSolicitante), EstadoGA = "P", EstadoJC = "P", cp_PlazoEntrega = info.cp_PlazoEntrega, cp_ObservacionAdicional = info.cp_ObservacionAdicional }); int Secuencia = 1; foreach (var item in info.ListaDetalle) { var Cont = db.com_CotizacionPedidoDet.Where(q => q.opd_IdEmpresa == item.opd_IdEmpresa && q.opd_IdOrdenPedido == item.opd_IdOrdenPedido && q.opd_Secuencia == item.opd_Secuencia && (q.com_CotizacionPedido.EstadoJC == "P" || q.EstadoJC == true)).Count(); if (Cont == 0) { Contadot++; db.com_CotizacionPedidoDet.Add(new com_CotizacionPedidoDet { IdEmpresa = info.IdEmpresa, IdCotizacion = info.IdCotizacion, Secuencia = Secuencia++, opd_IdEmpresa = item.opd_IdEmpresa, opd_IdOrdenPedido = item.opd_IdOrdenPedido, opd_Secuencia = item.opd_Secuencia, cd_Cantidad = item.cd_Cantidad, cd_precioCompra = item.cd_precioCompra, cd_porc_des = item.cd_porc_des, cd_descuento = item.cd_descuento, cd_precioFinal = item.cd_precioFinal, cd_subtotal = item.cd_subtotal, IdCod_Impuesto = item.IdCod_Impuesto, Por_Iva = item.Por_Iva, cd_iva = item.cd_iva, cd_total = item.cd_total, IdProducto = item.IdProducto ?? 0, IdPunto_cargo = item.IdPunto_cargo, IdUnidadMedida = item.IdUnidadMedida, cd_DetallePorItem = item.cd_DetallePorItem, AdjuntoC = item.AdjuntoC, NombreArchivoC = !string.IsNullOrEmpty(item.NombreArchivoC) ? Path.GetFileName(item.NombreArchivoC) : item.NombreArchivoC }); var det_op = db.com_OrdenPedidoDet.Where(q => q.IdEmpresa == item.opd_IdEmpresa && q.IdOrdenPedido == item.opd_IdOrdenPedido && q.Secuencia == item.opd_Secuencia && q.opd_EstadoProceso == "A").FirstOrDefault(); if (det_op != null) { det_op.opd_EstadoProceso = "AC"; if (det_op.IdProducto == null) { det_op.pr_descripcion = dbi.in_Producto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdProducto == item.IdProducto).FirstOrDefault().pr_descripcion; det_op.IdUnidadMedida = item.IdUnidadMedida; det_op.IdProducto = item.IdProducto; } det_op.FechaCotizacion = DateTime.Now; det_op.IdUsuarioCotizacion = info.IdUsuario; } } } var persona = dbg.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault(); if (persona != null) { persona.pe_correo_secundario1 = info.pe_correo; } if (Contadot > 0) { db.SaveChanges(); dbg.SaveChanges(); } } com_OrdenPedido_Data data_ped = new com_OrdenPedido_Data(); if (Contadot > 0) { if (data_ped.SaltarPaso4(info.IdEmpresa, info.IdOrdenPedido ?? 0, info.IdUsuario)) { } if (data_ped.ValidarProceso(info.IdEmpresa, info.IdOrdenPedido ?? 0)) { } try { #region Adjuntos var lst_adjuntos = info.ListaDetalle.Where(q => q.AdjuntoC == true).ToList(); var param = paramData.Get_Info_parametro(info.IdEmpresa); if (param != null && !string.IsNullOrEmpty(param.UbicacionArchivosCotizacion)) { string Comando = "/c Net Use " + param.FileDominio + " /USER:"******" " + param.FileContrasenia; Fx.ExecuteCommand(@"" + Comando); Directory.CreateDirectory(param.UbicacionArchivosCotizacion + @"\" + info.IdCotizacion.ToString()); foreach (var item in lst_adjuntos) { var ext = Path.GetFileName(item.NombreArchivoC); System.IO.File.Copy(item.NombreArchivoC, param.UbicacionArchivosCotizacion + @"\" + info.IdCotizacion.ToString() + @"\" + ext, true); } Comando = "/c Net Use /DELETE " + param.FileDominio + " /USER:"******" " + param.FileContrasenia; Fx.ExecuteCommand(@"" + Comando); } #endregion } catch (Exception) { using (SqlConnection connection = new SqlConnection(ConexionERP.GetConnectionString())) { connection.Open(); SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = "update com_CotizacionPedidoDet set AdjuntoC = 0, NombreArchivoC = NULL where IdEmpresa = " + info.IdEmpresa.ToString() + " and IdCotizacion = " + info.IdCotizacion.ToString(); command.ExecuteNonQuery(); } } } return(true); } catch (Exception ex) { string mensaje = string.Empty; string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info( ex.InnerException != null && ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : ex.Message , "", arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); mensaje = ex.ToString(); throw new Exception(ex.ToString()); } }
public bool AprobarDB(com_CotizacionPedido_Info info, string Cargo) { try { try { decimal IdOrdenPedido = 0; List <CotizacionesParaActualizar> Lista = new List <CotizacionesParaActualizar>(); using (EntitiesCompras db = new EntitiesCompras()) { var Entity = db.com_CotizacionPedido.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCotizacion == info.IdCotizacion).FirstOrDefault(); if (Entity == null) { return(false); } #region Update estado JC o GA if (Cargo == "JC") { Entity.EstadoJC = info.EstadoJC; Entity.IdUsuarioJC = info.IdUsuario; Entity.FechaJC = DateTime.Now; Entity.cp_Observacion = info.cp_Observacion; } else { Entity.EstadoGA = info.EstadoGA; } #endregion #region Update de estado de proceso en el detalle de la cotizacion y pedido foreach (var item in info.ListaDetalle) { var det = db.com_CotizacionPedidoDet.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdCotizacion == item.IdCotizacion && q.Secuencia == item.Secuencia).FirstOrDefault(); if (det != null) { if (Cargo == "JC") { det.EstadoJC = item.A; } else { det.EstadoGA = item.A; } } var detped = db.com_OrdenPedidoDet.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdOrdenPedido == item.opd_IdOrdenPedido && q.Secuencia == item.opd_Secuencia).FirstOrDefault(); if (detped != null) { if (Cargo == "JC") { detped.opd_EstadoProceso = item.A == true ? "AJC" : "A"; } else { detped.opd_EstadoProceso = item.A == true ? "C" : "RGA"; } } } #endregion #region Update cabecera de orden de pedido con la auditoria del aprobador GA if (Cargo == "GA") { var lstPedido = info.ListaDetalle.GroupBy(q => q.opd_IdOrdenPedido).ToList(); foreach (var item in lstPedido) { var Pedido = db.com_OrdenPedido.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenPedido == item.Key).FirstOrDefault(); if (Pedido != null) { Pedido.IdUsuarioAprobacion = info.IdUsuario; Pedido.FechaAprobacion = DateTime.Now; Pedido.ObservacionGA = info.ObservacionAprobador; IdOrdenPedido = Pedido.IdOrdenPedidoReg ?? 0; } } } #endregion if (Cargo == "GA" && info.ListaDetalle.Where(q => q.EstadoGA).Count() > 0) { #region Cabecera OC com_ordencompra_local_Data odataCom = new com_ordencompra_local_Data(); int workDays = info.cp_PlazoEntrega; DateTime tmpDate = DateTime.Now.Date; while (workDays > 0) { tmpDate = tmpDate.AddDays(1); if (tmpDate.DayOfWeek < DayOfWeek.Saturday && tmpDate.DayOfWeek > DayOfWeek.Sunday) { workDays--; } } db.com_ordencompra_local.Add(new com_ordencompra_local { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.oc_IdOrdenCompra = odataCom.GetId(info.IdEmpresa, info.IdSucursal), IdProveedor = info.IdProveedor, oc_NumDocumento = "COT" + info.IdCotizacion.ToString("0000000000"), Tipo = "", IdTerminoPago = info.IdTerminoPago, oc_plazo = info.cp_Plazo, oc_fecha = DateTime.Now.Date, oc_flete = 0, oc_observacion = info.cp_Observacion, Estado = "A", IdEstadoAprobacion_cat = "APRO", Fecha_Transac = DateTime.Now, IdEstadoRecepcion_cat = "PEN", AfectaCosto = "S", IdDepartamento = info.IdDepartamento, IdMotivo = null, oc_fechaVencimiento = tmpDate, IdEstado_cierre = "ABI", IdComprador = info.IdComprador, IdUsuario = info.IdUsuario, co_fecha_aprobacion = DateTime.Now, IdUsuario_Aprueba = info.IdUsuario }); #endregion #region Detalle OC int Secuencia = 1; var lstGeneracion = info.ListaDetalle.Where(q => q.A && q.cd_Cantidad > 0).ToList(); foreach (var item in lstGeneracion) { var impuesto = odataImp.Get_Info_impuesto(item.IdCod_Impuesto); if (impuesto != null) { item.Por_Iva = impuesto.porcentaje; item.cd_iva = item.cd_subtotal * (impuesto.porcentaje / 100); item.cd_total = item.cd_subtotal + item.cd_iva; } Lista.Add(new CotizacionesParaActualizar { SecuenciaPedido = item.opd_Secuencia, IdSucursal = info.IdSucursal, IdOrdenCompra = info.oc_IdOrdenCompra, SecuenciaOC = item.Secuencia, CostouniFinal = item.cd_precioFinal }); db.com_ordencompra_local_det.Add(new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.oc_IdOrdenCompra, Secuencia = item.Secuencia, IdProducto = item.IdProducto ?? 0, do_Cantidad = item.cd_Cantidad, do_precioCompra = item.cd_precioCompra, do_porc_des = item.cd_porc_des, do_descuento = item.cd_descuento, do_precioFinal = item.cd_precioFinal, do_subtotal = item.cd_subtotal, do_iva = item.cd_iva, do_total = item.cd_total, do_ManejaIva = true, do_Costeado = "N", do_peso = 0, IdCentroCosto = null, IdCentroCosto_sub_centro_costo = null, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = null, IdUnidadMedida = item.IdUnidadMedida, Por_Iva = item.Por_Iva, IdCod_Impuesto = item.IdCod_Impuesto, do_observacion = (string.IsNullOrEmpty(item.cd_DetallePorItem) ? "" : item.cd_DetallePorItem + " ") + (string.IsNullOrEmpty(item.opd_Detalle) ? "" : item.opd_Detalle), IdSucursalDestino = item.IdSucursalDestino }); } #endregion Entity.oc_IdOrdenCompra = Convert.ToInt32(info.oc_IdOrdenCompra); } db.SaveChanges(); if (Cargo == "JC") { com_OrdenPedido_Data odataPedido = new com_OrdenPedido_Data(); odataPedido.SaltarPaso5(info.IdEmpresa, info.IdOrdenPedido ?? 0, info.IdUsuario); } else { if (IdOrdenPedido > 0) { foreach (var item in Lista) { ReemplazarCotizacionesIngresadas(info.IdEmpresa, IdOrdenPedido, item.SecuenciaPedido, item.IdSucursal, item.IdOrdenCompra, item.SecuenciaOC, item.CostouniFinal); } } } } return(true); } catch (DbEntityValidationException ex) { throw; } } catch (Exception ex) { throw; } }
private bool GetInfo() { btn_Buscar.Focus(); lst_info = new List <com_CotizacionPedido_Info>(); var lst = blst.Where(q => q.A == true && q.opd_EstadoProceso == "A").ToList(); if (lst.Count == 0) { MessageBox.Show("Seleccione registros para cotizar", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } if (lst.Where(q => q.IdProducto == null || q.IdProveedor == null || q.cd_precioCompra == 0 || string.IsNullOrEmpty(q.IdUnidadMedida) || string.IsNullOrEmpty(q.IdCod_Impuesto)).Count() > 0) { MessageBox.Show("La información de la cotización se encuentra incompleta, por favor revise los registros seleccionados", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } var lstProvDep = lst.GroupBy(q => new { q.IdProveedor, q.IdDepartamento, q.IdSolicitante, q.IdSucursalOrigen, q.IdComprador, q.opd_IdOrdenPedido, q.IdSucursalDestino }).Select(q => new { q.Key.IdSolicitante, q.Key.IdDepartamento, q.Key.IdProveedor, q.Key.IdSucursalOrigen, q.Key.IdComprador, q.Key.opd_IdOrdenPedido, q.Key.IdSucursalDestino }).ToList(); lst_termino = bus_termino.Get_List_TerminoPago().Where(q => q.Estado == "A").ToList(); foreach (var item in lstProvDep) { var proveedor = bus_proveedor.Get_Info_Proveedor(param.IdEmpresa, item.IdProveedor ?? 0); if (proveedor == null) { return(false); } var Pedido = blst.Where(q => q.opd_IdOrdenPedido == item.opd_IdOrdenPedido).FirstOrDefault(); string Observacion = (Pedido != null ? Pedido.op_Observacion : string.Empty); com_CotizacionPedido_Info cab = new com_CotizacionPedido_Info { IdEmpresa = param.IdEmpresa, IdSucursal = item.IdSucursalOrigen, IdProveedor = item.IdProveedor ?? 0, cp_Fecha = DateTime.Now.Date, cp_Observacion = Observacion, IdDepartamento = item.IdDepartamento, IdSolicitante = item.IdSolicitante, IdComprador = item.IdComprador, IdTerminoPago = (proveedor.pr_plazo ?? 0) == 0 ? "1" : lst_termino.Where(q => q.Dias == (proveedor.pr_plazo ?? 0)).FirstOrDefault() == null ? "1" : lst_termino.Where(q => q.Dias == (proveedor.pr_plazo ?? 0)).FirstOrDefault().IdTerminoPago, cp_Plazo = proveedor.pr_plazo ?? 0, pe_correo = proveedor.Persona_Info.pe_correo_secundario1, IdPersona = proveedor.IdPersona, IdOrdenPedido = item.opd_IdOrdenPedido, ListaDetalle = new List <com_CotizacionPedidoDet_Info>() }; cab.ListaDetalle = lst.Where(q => q.IdProveedor == item.IdProveedor && q.IdDepartamento == item.IdDepartamento && q.IdSolicitante == item.IdSolicitante && q.IdSucursalOrigen == item.IdSucursalOrigen && q.opd_IdOrdenPedido == item.opd_IdOrdenPedido && q.IdSucursalDestino == item.IdSucursalDestino).Select(q => new com_CotizacionPedidoDet_Info { IdEmpresa = param.IdEmpresa, opd_IdEmpresa = q.opd_IdEmpresa, opd_IdOrdenPedido = q.opd_IdOrdenPedido, opd_Secuencia = q.opd_Secuencia, IdProducto = q.IdProducto ?? 0, cd_Cantidad = q.cd_Cantidad, cd_precioCompra = q.cd_precioCompra, cd_porc_des = q.cd_porc_des, cd_descuento = q.cd_descuento, cd_precioFinal = q.cd_precioFinal, cd_subtotal = q.cd_subtotal, IdCod_Impuesto = q.IdCod_Impuesto, Por_Iva = q.Por_Iva, cd_iva = q.cd_iva, cd_total = q.cd_total, IdUnidadMedida = q.IdUnidadMedida, IdPunto_cargo = q.IdPunto_cargo, cd_DetallePorItem = q.cd_DetallePorItem, IdSucursalDestino = q.IdSucursalDestino, IdSucursalOrigen = q.IdSucursalOrigen }).ToList(); cab.Subtotal = cab.ListaDetalle.Sum(q => q.cd_subtotal); cab.IVA = cab.ListaDetalle.Sum(q => q.cd_iva); cab.Total = cab.ListaDetalle.Sum(q => q.cd_total); lst_info.Add(cab); } return(true); }
public bool GuardarDB(com_CotizacionPedido_Info info) { try { EntitiesInventario dbi = new EntitiesInventario(); EntitiesGeneral dbg = new EntitiesGeneral(); using (EntitiesCompras db = new EntitiesCompras()) { db.com_CotizacionPedido.Add(new com_CotizacionPedido { IdEmpresa = info.IdEmpresa, IdCotizacion = info.IdCotizacion = GetID(info.IdEmpresa), IdSucursal = info.IdSucursal, IdProveedor = info.IdProveedor, IdTerminoPago = info.IdTerminoPago, cp_Fecha = info.cp_Fecha, cp_Plazo = info.cp_Plazo, IdOrdenPedido = info.IdOrdenPedido, cp_Observacion = info.cp_Observacion, IdComprador = info.IdComprador, IdDepartamento = info.IdDepartamento, IdSolicitante = Convert.ToInt32(info.IdSolicitante), EstadoGA = "P", EstadoJC = "P", cp_PlazoEntrega = info.cp_PlazoEntrega, cp_ObservacionAdicional = info.cp_ObservacionAdicional }); int Secuencia = 1; foreach (var item in info.ListaDetalle) { db.com_CotizacionPedidoDet.Add(new com_CotizacionPedidoDet { IdEmpresa = info.IdEmpresa, IdCotizacion = info.IdCotizacion, Secuencia = Secuencia++, opd_IdEmpresa = item.opd_IdEmpresa, opd_IdOrdenPedido = item.opd_IdOrdenPedido, opd_Secuencia = item.opd_Secuencia, cd_Cantidad = item.cd_Cantidad, cd_precioCompra = item.cd_precioCompra, cd_porc_des = item.cd_porc_des, cd_descuento = item.cd_descuento, cd_precioFinal = item.cd_precioFinal, cd_subtotal = item.cd_subtotal, IdCod_Impuesto = item.IdCod_Impuesto, Por_Iva = item.Por_Iva, cd_iva = item.cd_iva, cd_total = item.cd_total, IdProducto = item.IdProducto ?? 0, IdPunto_cargo = item.IdPunto_cargo, IdUnidadMedida = item.IdUnidadMedida, cd_DetallePorItem = item.cd_DetallePorItem }); var det_op = db.com_OrdenPedidoDet.Where(q => q.IdEmpresa == item.opd_IdEmpresa && q.IdOrdenPedido == item.opd_IdOrdenPedido && q.Secuencia == item.opd_Secuencia && q.opd_EstadoProceso == "A").FirstOrDefault(); if (det_op != null) { det_op.opd_EstadoProceso = "AC"; if (det_op.IdProducto == null) { det_op.pr_descripcion = dbi.in_Producto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdProducto == item.IdProducto).FirstOrDefault().pr_descripcion; det_op.IdUnidadMedida = item.IdUnidadMedida; det_op.IdProducto = item.IdProducto; } det_op.FechaCotizacion = DateTime.Now; det_op.IdUsuarioCotizacion = info.IdUsuario; } } var persona = dbg.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault(); if (persona != null) { persona.pe_correo_secundario1 = info.pe_correo; } db.SaveChanges(); dbg.SaveChanges(); } com_OrdenPedido_Data data_ped = new com_OrdenPedido_Data(); if (data_ped.SaltarPaso4(info.IdEmpresa, info.IdOrdenPedido ?? 0, info.IdUsuario)) { } if (data_ped.ValidarProceso(info.IdEmpresa, info.IdOrdenPedido ?? 0)) { } return(true); } catch (Exception) { throw; } }