private void gridVwOCPend_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { try { info = (com_ordencompra_local_Info)this.gridVwOCPend.GetFocusedRow(); if (e.Column.Name == "colap_descripcion") { lista = bus_inven.Get_List_Ing_Egr_Inven_det_x_OrdenCompra(info.IdEmpresa, info.IdSucursal, info.IdOrdenCompra); if (lista.Count > 0) { FrmIn_Detalle_Ing_Egr_Bodega_Alerta frmConsulta = new FrmIn_Detalle_Ing_Egr_Bodega_Alerta(); frmConsulta.Text = "Alertas"; frmConsulta.lblMensaje.Text = "La OC#: " + info.IdOrdenCompra + " tiene Ingesos a Bodega"; frmConsulta.set_info_list(lista); info.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_AUX; info.check = false; frmConsulta.ShowDialog(); return; } else { if (info.IdEstadoAprobacion_AUX == "ANU") { MessageBox.Show("No se pueden modificar registros Inactivos"); } } } CalcularTotal(); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public com_ordencompra_local_Info get_info(int IdEmpresa, int IdSucursal, decimal IdOrdenCompra) { try { com_ordencompra_local_Info info = new com_ordencompra_local_Info(); using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdOrdenCompra == IdOrdenCompra).FirstOrDefault(); if (Entity == null) { return(null); } info = new com_ordencompra_local_Info { IdEmpresa = Entity.IdEmpresa, IdComprador = Entity.IdComprador, IdOrdenCompra = Entity.IdOrdenCompra, IdDepartamento = Entity.IdDepartamento, IdEstadoAprobacion_cat = Entity.IdEstadoAprobacion_cat, IdEstado_cierre = Entity.IdEstado_cierre, IdProveedor = Entity.IdProveedor, IdSucursal = Entity.IdSucursal, Tipo = Entity.Tipo, SecuenciaTipo = Entity.SecuenciaTipo, IdTerminoPago = Entity.IdTerminoPago, Estado = Entity.Estado, oc_plazo = Entity.oc_plazo, oc_observacion = Entity.oc_observacion, oc_fecha = Entity.oc_fecha, oc_fechaVencimiento = Entity.oc_fechaVencimiento, }; } return(info); } catch (Exception) { throw; } }
public ActionResult Nuevo(com_ordencompra_local_Info model) { model.IdUsuario = SessionFixed.IdUsuario; model.lst_det = List_det.get_list(model.IdTransaccionSession); if (!ModelState.IsValid) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } var IdUsuario_Com = SessionFixed.IdUsuario; com_comprador_Info info_comprador = bus_comprador.get_info_x_IdUsuario(model.IdEmpresa, IdUsuario_Com); if (info_comprador == null) { model.IdComprador = 0; } else { model.IdComprador = info_comprador.IdComprador; } if (!Validar(model, ref mensaje)) { ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } if (!bus_ordencompra.guardarDB(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } //return RedirectToAction("Index"); return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdSucursal = model.IdSucursal, IdOrdenCompra = model.IdOrdenCompra, Exito = true })); }
private void btnImportar_Click_1(object sender, EventArgs e) { try { FrmCom_Consulta_OrdenCompra frm = new FrmCom_Consulta_OrdenCompra(); com_ordencompra_local_Info Info_OrdenCompra = new com_ordencompra_local_Info(); List <com_ordencompra_local_Info> LstOC = new List <com_ordencompra_local_Info>(); com_ordencompra_local_Bus BusOC = new com_ordencompra_local_Bus(); //LimpiarDatos(); if (ucCp_Proveedor1.get_ProveedorInfo() != null) { LstOC = BusOC.Get_List_ordencompra_local_x_Proveedor(param.IdEmpresa, ucCp_Proveedor1.get_ProveedorInfo().IdProveedor); if (LstOC != null) { if (LstOC.Count != 0) { frm.lista = LstOC; frm.ShowDialog(); Info_OrdenCompra = frm.Info_orden_compra; cargar_OC_x_Importacion(Info_OrdenCompra); } else { MessageBox.Show("El Proveedor no tiene Ordenes de Compra "); } } } else { MessageBox.Show("No ha seleccionado ningún proveedor.\nPor favor seleccione un proveedor.", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Boolean GuardarDB(com_ordencompra_local_Info Info, ref decimal id, ref string msg) { try { Boolean res = true; if (Validar_objeto(Info, ref msg)) { //cabecera res = BusOC.GuardarDB(Info, ref id); foreach (var item in Info.listDetalle) { item.IdEmpresa = Info.IdEmpresa; item.IdSucursal = Info.IdSucursal; item.IdOrdenCompra = id; //item.IdUnidadMedida=Info.listDetalle. } //detalle res = BusOC_det.GuardarDB(Info.listDetalle, ref msg); // opcion habilitada cuando se graba desde la pantalla aprobacion de solicitudes con generacion de orden compra } else { res = false; } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }
public ActionResult Modificar(com_ordencompra_local_Info model) { model.IdUsuarioUltMod = SessionFixed.IdUsuario; model.lst_det = List_det.get_list(model.IdTransaccionSession); if (!Validar(model, ref mensaje)) { ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } if (!bus_ordencompra.modificarDB(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); cargar_combos(model.IdEmpresa); return(View(model)); } //return RedirectToAction("Index"); return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdSucursal = model.IdSucursal, IdOrdenCompra = model.IdOrdenCompra, Exito = true })); }
private void mnu_consultar_Click(object sender, EventArgs e) { try { InfoOC = (com_ordencompra_local_Info)gridVwOCPend.GetFocusedRow(); if (InfoOC != null) { frm = new frmCom_OrdenCompra_Mant(); frm.Set_Info(InfoOC); frm.Set_Accion(Cl_Enumeradores.eTipo_action.consultar); frm.ShowDialog(); } else { MessageBox.Show("Seleccione un Registro a Mostrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void ucGe_Menu_Mantenimiento_x_usuario_event_btnconsultar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { InfoOC = (com_ordencompra_local_Info)gridViewOrdenCompra.GetFocusedRow(); if (InfoOC != null) { frm = new FrmCom_GeneracionOrdenCompraMantenimiento(); frm.InfoCab = InfoOC; frm.set_Accion(Cl_Enumeradores.eTipo_action.consultar); frm.MdiParent = this.MdiParent; frm.Show(); } else { MessageBox.Show("Seleccione un Registro a Mostrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); } }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Ing_Egr_Inven_det_Info info_det) { com_ordencompra_local_det_List Lista_OC = new com_ordencompra_local_det_List(); int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); List <in_Ing_Egr_Inven_det_Info> lista_detalle = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); List <com_ordencompra_local_Info> lista_detalle_oc = Lista_OC.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); in_Ing_Egr_Inven_det_Info info_det_editar = lista_detalle.Where(q => q.Secuencia == info_det.Secuencia).FirstOrDefault(); com_ordencompra_local_Info info_oc = lista_detalle_oc.Where(q => q.IdEmpresa == info_det_editar.IdEmpresa && q.IdSucursal == info_det_editar.IdSucursal && q.IdOrdenCompra == info_det_editar.IdOrdenCompra && q.IdProducto == info_det_editar.IdProducto).FirstOrDefault(); info_det_editar.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; if (info_det_editar != null) { if (info_det_editar.IdProducto != 0) { in_Producto_Info info_producto = bus_producto.get_info(IdEmpresa, info_det_editar.IdProducto); if (info_producto != null) { info_det.Saldo = info_det_editar.Saldo; info_det.IdProducto = info_det_editar.IdProducto; info_det.pr_descripcion = info_producto.pr_descripcion_combo; info_det.IdUnidadMedida_sinConversion = info_producto.IdUnidadMedida; } } } if (info_det_editar.dm_cantidad_sinConversion > 0 && info_det_editar.dm_cantidad_sinConversion <= info_det_editar.Saldo) { List_in_Ing_Egr_Inven_det.UpdateRow(info_det_editar, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } var model = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_inv_det", model)); }
public ActionResult Nuevo(int IdEmpresa = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Compras", "OrdenServicio", "Index"); if (!info.Nuevo) { return(RedirectToAction("Index")); } #endregion com_parametro_Info i_param = bus_param.get_info(IdEmpresa); if (i_param == null) { return(RedirectToAction("Index")); } com_ordencompra_local_Info model = new com_ordencompra_local_Info { IdEmpresa = IdEmpresa, oc_fecha = DateTime.Now.Date, oc_fechaVencimiento = DateTime.Now.Date, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual), IdEstadoAprobacion_cat = i_param.IdEstadoAprobacion_OC, IdSucursal = Convert.ToInt32(SessionFixed.IdSucursal), Tipo = "OS" }; List_det.set_list(model.lst_det, model.IdTransaccionSession); cargar_combos(IdEmpresa); return(View(model)); }
private bool Validar(com_ordencompra_local_Info i_validar, ref string msg) { i_validar.lst_det = List_det.get_list(i_validar.IdTransaccionSession); if (i_validar.IdComprador == 0) { mensaje = "Debe ingresar su usuario como comprador"; return(false); } else if (i_validar.lst_det.Count == 0) { mensaje = "Debe ingresar al menos un producto en el detalle de la orden"; return(false); } else { foreach (var item1 in i_validar.lst_det) { var contador = 0; foreach (var item2 in i_validar.lst_det) { if (item1.IdProducto == item2.IdProducto) { contador++; } if (contador > 1) { mensaje = "Existen productos repetidos en el detalle"; return(false); } } } } return(true); }
public ActionResult Nuevo(int IdEmpresa = 0) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion com_ordencompra_local_Info model = new com_ordencompra_local_Info { IdEmpresa = IdEmpresa, oc_fecha = DateTime.Now, oc_fechaVencimiento = DateTime.Now, co_fechaReproba = DateTime.Now, co_fecha_aprobacion = DateTime.Now, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual) }; List_det.set_list(model.lst_det, model.IdTransaccionSession); cargar_combos(IdEmpresa); return(View(model)); }
public Boolean Validar_objeto(com_ordencompra_local_Info Info, ref string msg) { try { if (Info.IdEmpresa == 0 || Info.IdSucursal == 0 || Info.IdProveedor == 0 || Info.IdDepartamento == 0) { msg = "las variables estan en cero... Info.IdEmpresa == 0 || Info.IdSucursal == 0 || Info.IdProveedor == 0 || Info.IdDepartamento == 0 "; return(false); } /* * if (Info.IdMotivo == null || Info.IdMotivo == 0) * { * msg = "Ingrese el motivo de la Compra"; * com_Catalogo_Bus bUS = new com_Catalogo_Bus(); * List<com_Catalogo_Info> listc = new List<com_Catalogo_Info>(bUS.Get_List_Catalogo()); * return false; * * }*/ if (Info.listDetalle.Count == 0) { msg = "la OC no tiene items q grabar"; return(false); } int c = 0; foreach (var item in Info.listDetalle) { if (item.do_Cantidad == 0) { msg = "Ingrese la cantidad al item : " + item.codproducto + " "; return(false); } if (item.do_precioCompra == 0) { msg = "Ingrese el costo al item : " + item.codproducto + " "; return(false); } if (item.IdUnidadMedida == "" || item.IdUnidadMedida == null) { in_producto_Bus BusProducto = new in_producto_Bus(); in_Producto_Info InfoProducto = new in_Producto_Info(); InfoProducto = BusProducto.Get_info_Product(item.IdEmpresa, item.IdProducto); item.IdUnidadMedida = InfoProducto.IdUnidadMedida; } if (item.IdCentroCosto == "") { item.IdCentroCosto = null; } if (item.IdCentroCosto_sub_centro_costo == "") { item.IdCentroCosto_sub_centro_costo = null; } if (item.IdCod_Impuesto == "" || item.IdCod_Impuesto == null) // Arreglando si no viene iva y codigo de iva { tb_sis_impuesto_Bus BusImpuestoIva = new tb_sis_impuesto_Bus(); List <tb_sis_impuesto_Info> ListInfo_Impuesto = new List <tb_sis_impuesto_Info>(); tb_sis_impuesto_Info Info_Impuesto = new tb_sis_impuesto_Info(); ListInfo_Impuesto = BusImpuestoIva.Get_List_impuesto_para_Compras("IVA"); Info_Impuesto = ListInfo_Impuesto.FirstOrDefault(); item.IdCod_Impuesto = Info_Impuesto.IdCod_Impuesto; item.Por_Iva = Info_Impuesto.porcentaje; } //item.do_ManejaIva = (item.do_iva == 0) ? false : true; c = c + 1; item.Secuencia = c; item.IdEmpresa = Info.IdEmpresa; item.IdSucursal = Info.IdSucursal; item.IdOrdenCompra = Info.IdOrdenCompra; } if (Info.IdMotivo == 0 && Info.IdMotivo == null) { //consulta motivo compra com_Motivo_Orden_Compra_Data odataMoti = new com_Motivo_Orden_Compra_Data(); List <com_Motivo_Orden_Compra_Info> listMoti = new List <com_Motivo_Orden_Compra_Info>(); listMoti = odataMoti.Get_List_Motivo_Orden_Compra(Info.IdEmpresa); var itemMoti = listMoti.FirstOrDefault(q => q.IdMotivo == Info.IdMotivo); Info.IdMotivo = itemMoti.IdMotivo; } if (Info.IdEstadoAprobacion_cat == "" || Info.IdEstadoAprobacion_cat == null) { List <com_Catalogo_Info> listEstadoAproba = new List <com_Catalogo_Info>(); listEstadoAproba = CatCom.Get_ListEstadoAprobacion(); com_Catalogo_Info resEstadoApro = new com_Catalogo_Info(); resEstadoApro = listEstadoAproba.FirstOrDefault(); Info.IdEstadoAprobacion_cat = resEstadoApro.IdCatalogocompra; } if (Info.IdEstadoRecepcion_cat == "" || Info.IdEstadoRecepcion_cat == null) { List <com_Catalogo_Info> listEstadoRecep = new List <com_Catalogo_Info>(); com_Catalogo_Info resEstadoRece = new com_Catalogo_Info(); listEstadoRecep = CatCom.Get_ListEstadoRecepcion(); resEstadoRece = listEstadoRecep.First(); Info.IdEstadoRecepcion_cat = resEstadoRece.IdCatalogocompra; } if (Info.IdTerminoPago == "" || Info.IdTerminoPago == null) { List <com_TerminoPago_Info> listTerminoPago = new List <com_TerminoPago_Info>(); listTerminoPago = BusTerPago.Get_List_TerminoPago(); com_TerminoPago_Info TerminoPago = new com_TerminoPago_Info(); TerminoPago = listTerminoPago.FirstOrDefault(); Info.IdTerminoPago = TerminoPago.IdTerminoPago; } if (Info.IdEstado_cierre == null || Info.IdEstado_cierre == "") { com_estado_cierre_Bus busEstCierre = new com_estado_cierre_Bus(); com_parametro_Bus paraBus = new com_parametro_Bus(); string idestadoCierrexDefault = ""; idestadoCierrexDefault = paraBus.Get_List_parametro(Info.IdEmpresa).FirstOrDefault().IdEstado_cierre; Info.IdEstado_cierre = busEstCierre.Get_List_estado_cierre().FirstOrDefault(v => v.IdEstado_cierre == idestadoCierrexDefault).IdEstado_cierre; } return(true); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validar_objeto", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }
private void gridVwOCPend_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { try { info = (com_ordencompra_local_Info)this.gridVwOCPend.GetFocusedRow(); if (e.Column.Name == "colAbrirOC") { var row = (com_ordencompra_local_Info)gridVwOCPend.GetFocusedRow(); if (row != null) { frmCom_OrdenCompra_Mant frm = new frmCom_OrdenCompra_Mant(); frm = new frmCom_OrdenCompra_Mant(); frm.Set_Info(row); frm.event_frmCom_OrdenCompra_Mant_FormClosing += frm_event_frmCom_OrdenCompra_Mant_FormClosing; frm.event_frmCom_OrdenCompra_Mant_FormClosing += new frmCom_OrdenCompra_Mant.delegate_frmCom_OrdenCompra_Mant_FormClosing(frm_event_frmCom_OrdenCompra_Mant_FormClosing); frm.Set_Accion(Cl_Enumeradores.eTipo_action.consultar); frm.MdiParent = this.MdiParent; frm.Show(); } } if (e.Column.Name == "colCheck") { if ((Boolean)gridVwOCPend.GetFocusedRowCellValue(colCheck)) { gridVwOCPend.SetFocusedRowCellValue(colCheck, false); gridVwOCPend.SetFocusedRowCellValue(colap_descripcion, info.IdEstadoAprobacion_AUX); } else { //lista = bus_inven.Get_List_Ing_Egr_Inven_det_x_OrdenCompra(info.IdEmpresa, info.IdSucursal, info.IdOrdenCompra); //if (lista.Count > 0) //{ // FrmIn_Detalle_Ing_Egr_Bodega_Alerta frmConsulta = new FrmIn_Detalle_Ing_Egr_Bodega_Alerta(); // frmConsulta.Text = "La OC#: " + info.IdOrdenCompra + " tiene Ingesos a Bodega"; // frmConsulta.set_info_list(lista); // info.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_AUX; // info.check = false; // frmConsulta.ShowDialog(); //} if (info.IdEstadoAprobacion_AUX == "ANU") { MessageBox.Show("No se pueden modificar registros Inactivos", "Sistemas"); return; } gridVwOCPend.SetFocusedRowCellValue(colCheck, true); gridVwOCPend.SetFocusedRowCellValue(colap_descripcion, "APRO"); } } } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Boolean GrabarDB(List <in_movi_inve_detalle_x_com_ordencompra_local_detalle_Info> lista, ref string mensaje) { try { Boolean res = true; res = odata.GrabarDB(lista, ref mensaje); int IdEmpresa = 0; int IdSucursal = 0; decimal IdOrdenCompra = 0; List <in_movi_inve_detalle_Info> listInvMovDet = new List <in_movi_inve_detalle_Info>(); vwcom_ordencompra_local_det_con_saldo_x_ing_a_inven_Data data = new vwcom_ordencompra_local_det_con_saldo_x_ing_a_inven_Data(); if (res) { foreach (var item in lista) { IdEmpresa = item.ocd_IdEmpresa; IdSucursal = item.ocd_IdSucursal; IdOrdenCompra = item.ocd_IdOrdenCompra; } listInvMovDet = data.Get_List_movi_inve_detalle(IdEmpresa, IdSucursal, IdOrdenCompra); var TAgrupacionEstado = from cb in listInvMovDet group cb by new { cb.IdEstadoRecepcion } into grouping select new { grouping.Key }; string IdEstado = ""; if (TAgrupacionEstado.Count() == 1) { foreach (var item in TAgrupacionEstado) { IdEstado = item.Key.IdEstadoRecepcion; } } if (TAgrupacionEstado.Count() > 1) { IdEstado = "PEN_X_RECI"; } // actualiza cabecera OC con el estado com_ordencompra_local_Data OdataOC = new com_ordencompra_local_Data(); com_ordencompra_local_Info info = new com_ordencompra_local_Info(); string msg = ""; info.IdEmpresa = IdEmpresa; info.IdSucursal = IdSucursal; info.IdOrdenCompra = IdOrdenCompra; info.IdEstadoRecepcion_cat = IdEstado; if (OdataOC.Modificar_Estado_Recep(info, ref msg)) { } } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex) { EntityType = typeof(in_movi_inve_detalle_Bus) }; } }
public bool modificarDB(com_ordencompra_local_Info info) { try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault(); if (Entity == null) { return(false); } Entity.IdComprador = info.IdComprador; Entity.IdDepartamento = info.IdDepartamento; Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat; Entity.IdEstado_cierre = info.IdEstado_cierre; Entity.IdMotivo = info.IdMotivo; Entity.IdProveedor = info.IdProveedor; Entity.IdSucursal = info.IdSucursal; Entity.IdTerminoPago = info.IdTerminoPago; Entity.IdUsuario_Aprueba = info.IdUsuario_Aprueba; Entity.IdUsuario_Reprue = info.IdUsuario_Reprue; Entity.oc_plazo = info.oc_plazo; Entity.oc_observacion = info.oc_observacion; Entity.oc_fecha = info.oc_fecha; Entity.oc_fechaVencimiento = info.oc_fechaVencimiento; Entity.oc_NumDocumento = info.oc_NumDocumento; Entity.co_fechaReproba = info.co_fechaReproba; Entity.co_fecha_aprobacion = info.co_fecha_aprobacion; Entity.IdUsuarioUltMod = info.IdUsuarioUltMod; Entity.Fecha_UltMod = DateTime.Now; var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra); Context.com_ordencompra_local_det.RemoveRange(det); foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.IdOrdenCompra, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = item.Secuencia }; Context.com_ordencompra_local_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(com_ordencompra_local_Info info) { try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = new com_ordencompra_local { IdEmpresa = info.IdEmpresa, IdComprador = info.IdComprador, IdOrdenCompra = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal), IdDepartamento = info.IdDepartamento, IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat, IdEstado_cierre = info.IdEstado_cierre, IdMotivo = info.IdMotivo, IdProveedor = info.IdProveedor, IdSucursal = info.IdSucursal, IdTerminoPago = info.IdTerminoPago, IdUsuario_Aprueba = info.IdUsuario_Aprueba, IdUsuario_Reprue = info.IdUsuario_Reprue, Estado = "A", oc_plazo = info.oc_plazo, oc_observacion = info.oc_observacion, oc_fecha = info.oc_fecha, oc_fechaVencimiento = info.oc_fechaVencimiento, oc_NumDocumento = info.oc_NumDocumento, co_fechaReproba = info.co_fechaReproba, co_fecha_aprobacion = info.co_fecha_aprobacion, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.com_ordencompra_local.Add(Entity); foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdOrdenCompra = info.IdOrdenCompra, IdSucursal = info.IdSucursal, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = item.Secuencia }; Context.com_ordencompra_local_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(com_ordencompra_local_Info info) { try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = new com_ordencompra_local { IdEmpresa = info.IdEmpresa, IdComprador = info.IdComprador, IdOrdenCompra = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal), IdDepartamento = info.IdDepartamento, IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat, IdEstado_cierre = info.IdEstado_cierre, IdProveedor = info.IdProveedor, IdSucursal = info.IdSucursal, Tipo = info.Tipo, SecuenciaTipo = info.SecuenciaTipo = get_id_by_tipo(info.IdEmpresa, info.IdSucursal, info.Tipo), IdTerminoPago = info.IdTerminoPago, Estado = "A", oc_plazo = info.oc_plazo, oc_observacion = info.oc_observacion, oc_fecha = info.oc_fecha, oc_fechaVencimiento = info.oc_fechaVencimiento, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.com_ordencompra_local.Add(Entity); foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdOrdenCompra = info.IdOrdenCompra, IdSucursal = info.IdSucursal, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = item.Secuencia }; Context.com_ordencompra_local_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool modificarDB(com_ordencompra_local_Info info) { try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault(); if (Entity == null) { return(false); } Entity.IdComprador = info.IdComprador; Entity.IdDepartamento = info.IdDepartamento; Entity.Tipo = info.Tipo; Entity.SecuenciaTipo = info.SecuenciaTipo; Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat; Entity.IdEstado_cierre = info.IdEstado_cierre; Entity.IdProveedor = info.IdProveedor; Entity.IdSucursal = info.IdSucursal; Entity.IdTerminoPago = info.IdTerminoPago; Entity.oc_plazo = info.oc_plazo; Entity.oc_observacion = info.oc_observacion; Entity.oc_fecha = info.oc_fecha; Entity.oc_fechaVencimiento = info.oc_fechaVencimiento; Entity.IdUsuarioUltMod = info.IdUsuarioUltMod; Entity.Fecha_UltMod = DateTime.Now; var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra); Context.com_ordencompra_local_det.RemoveRange(det); foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.IdOrdenCompra, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = item.Secuencia }; Context.com_ordencompra_local_det.Add(Entity_det); } Context.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }
public Boolean ModificarDB(com_ordencompra_local_Info Info, ref string msg) { try { Boolean resp1 = true; if (Validar_objeto(Info, ref msg)) { resp1 = BusOC.ModificarDB(Info, ref msg); List <com_ordencompra_local_det_Info> generados = new List <com_ordencompra_local_det_Info>(); List <com_ordencompra_local_det_Info> agregados = new List <com_ordencompra_local_det_Info>(); in_Guia_x_traspaso_bodega_det_Info info_guia = new in_Guia_x_traspaso_bodega_det_Info(); in_Guia_x_traspaso_bodega_det_Bus bus_guia = new in_Guia_x_traspaso_bodega_det_Bus(); string sGuias = ""; if (!bus_guia.Existe_OC_en_guia(Info, ref sGuias)) { int secuencia = 0; secuencia = BusDetOC.GetSecuencia_x_OC(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); // consultar tabla intermedia com_ordencompra_local_det_x_com_solicitud_compra_det_Bus bus_Inter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Bus(); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listInter = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); listInter = bus_Inter.Get_List_ordencompra_local_det_x_com_solicitud_compra_det_x_OrdenCompra(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listInter_AUX = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); if (listInter.Count() != 0) { // recupero los datos tabla intermedia foreach (var item in listInter) { com_ordencompra_local_det_x_com_solicitud_compra_det_Info infoInter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); infoInter.ocd_IdEmpresa = item.ocd_IdEmpresa; infoInter.ocd_IdSucursal = item.ocd_IdSucursal; infoInter.ocd_IdOrdenCompra = item.ocd_IdOrdenCompra; infoInter.ocd_Secuencia = item.ocd_Secuencia; infoInter.scd_IdEmpresa = item.scd_IdEmpresa; infoInter.scd_IdSucursal = item.scd_IdSucursal; infoInter.scd_IdSolicitudCompra = item.scd_IdSolicitudCompra; infoInter.scd_Secuencia = item.scd_Secuencia; infoInter.observacion = item.observacion; listInter_AUX.Add(infoInter); } //eliminar detalle tabla intermedia if (bus_Inter.Eliminar_Detalle_OCDxSCD(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra, ref msg)) { } } if (BusDetOC.EliminarDetalle_OC(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra, ref msg)) { resp1 = BusOC_det.GuardarDB(Info.listDetalle, ref msg); //grabar tabla intermedia if (listInter.Count() != 0) { if (bus_Inter.GrabarDB(listInter_AUX, ref mensaje)) { } } } } else { // aqui existe guias con esta OC verifico q los registro sean los mismos para poder modificar la OC sino NO com_ordencompra_local_Info InfoVali = new com_ordencompra_local_Info(); //InfoVali = BusOC.Get_Info_ordencompra_local_x_Total_RegOC_vs_Total_RegGuia(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); resp1 = BusDetOC.ModificarDB(Info.listDetalle, ref msg); } } else { // resp1 = false; } return(resp1); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ModificarDB", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }
private void Preparar_Formulario(Cl_Enumeradores.eTipo_action iAccion) { try { string mensajeFrm = ""; Info_OC = new com_ordencompra_local_Info(); switch (iAccion) { case Cl_Enumeradores.eTipo_action.grabar: mensajeFrm = "REGISTRO NUEVO"; break; case Cl_Enumeradores.eTipo_action.actualizar: mensajeFrm = "MODIFICAR REGISTRO"; Info_OC = (com_ordencompra_local_Info)gridViewOrdenCompra.GetFocusedRow(); in_Ing_Egr_Inven_det_Bus bus_IngEgr = new in_Ing_Egr_Inven_det_Bus(); List <in_Ing_Egr_Inven_det_Info> list_IngEgr = new List <in_Ing_Egr_Inven_det_Info>(); if (Info_OC != null) { list_IngEgr = bus_IngEgr.Get_List_Ing_Egr_Inven_det_x_OrdenCompra(Info_OC.IdEmpresa, Info_OC.IdSucursal, Info_OC.IdOrdenCompra); if (Info_OC.IdEstadoAprobacion_cat == "APRO") { MessageBox.Show("La Orden de compra Nº " + Info_OC.oc_NumDocumento + " ya fue Aprobada. No se puede modificar."); return; } else { if (list_IngEgr.Count != 0) { MessageBox.Show("La Orden de compra Nº " + Info_OC.oc_NumDocumento + " tiene Ingresos a Bodega. No se puede modificar."); return; } } } else { MessageBox.Show("Seleccione un Registro ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } break; case Cl_Enumeradores.eTipo_action.Anular: mensajeFrm = "ANULAR REGISTRO"; Info_OC = (com_ordencompra_local_Info)gridViewOrdenCompra.GetFocusedRow(); break; case Cl_Enumeradores.eTipo_action.consultar: mensajeFrm = "CONSULTAR REGISTRO"; Info_OC = (com_ordencompra_local_Info)gridViewOrdenCompra.GetFocusedRow(); break; default: break; } if (Info_OC != null) { frm = new frmCom_OrdenCompra_Mant(); frm.Text = frm.Text + "***" + mensajeFrm + "***"; frm.Set_Accion(iAccion); frm.Set_Info(Info_OC); frm.Show(); frm.MdiParent = this.MdiParent; frm.event_frmCom_OrdenCompra_Mant_FormClosing += frm_event_frmCom_OrdenCompra_Mant_FormClosing; } else { MessageBox.Show("Seleccione un Registro ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } catch (Exception ex) { string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name; MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString()); } }
public bool modificarDB(com_ordencompra_local_Info info) { try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault(); if (Entity == null) { return(false); } Entity.IdComprador = info.IdComprador; Entity.IdDepartamento = info.IdDepartamento; Entity.Tipo = info.Tipo; Entity.SecuenciaTipo = info.SecuenciaTipo; Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat; Entity.IdEstado_cierre = info.IdEstado_cierre; Entity.IdProveedor = info.IdProveedor; Entity.IdSucursal = info.IdSucursal; Entity.IdTerminoPago = info.IdTerminoPago; Entity.oc_plazo = info.oc_plazo; Entity.oc_observacion = info.oc_observacion; Entity.oc_fecha = info.oc_fecha; Entity.oc_fechaVencimiento = info.oc_fechaVencimiento; Entity.oc_codigo = info.oc_codigo; Entity.IdUsuarioUltMod = info.IdUsuarioUltMod; Entity.Fecha_UltMod = DateTime.Now; var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra); Context.com_ordencompra_local_det.RemoveRange(det); int Secuencia = 1; foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.IdOrdenCompra, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = Secuencia++, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.com_ordencompra_local_det.Add(Entity_det); } var Descuento = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_Cantidad * q.do_descuento)), 2, MidpointRounding.AwayFromZero); var ValorIVA = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_iva)), 2, MidpointRounding.AwayFromZero); var SubtotalIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero); var SubtotalSinIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero); var SubtotalIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero); var SubtotalSinIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero); var SubtotalSinDscto = Math.Round(SubtotalIVASinDscto + SubtotalSinIVASinDscto, 2, MidpointRounding.AwayFromZero); var SubtotalConDscto = Math.Round(SubtotalIVAConDscto + SubtotalSinIVAConDscto, 2, MidpointRounding.AwayFromZero); var Total = Math.Round(SubtotalConDscto + ValorIVA, 2, MidpointRounding.AwayFromZero); com_ordencompra_local_resumen Entity_Resumen = new com_ordencompra_local_resumen { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.IdOrdenCompra, SubtotalIVASinDscto = SubtotalIVASinDscto, SubtotalSinIVASinDscto = SubtotalSinIVASinDscto, SubtotalSinDscto = SubtotalSinDscto, Descuento = Descuento, SubtotalIVAConDscto = SubtotalIVAConDscto, SubtotalSinIVAConDscto = SubtotalSinIVAConDscto, SubtotalConDscto = SubtotalConDscto, ValorIVA = ValorIVA, Total = Total }; var oc = Context.com_ordencompra_local_resumen.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenCompra == info.IdOrdenCompra && q.IdSucursal == info.IdSucursal).FirstOrDefault(); Context.com_ordencompra_local_resumen.Remove(oc); Context.com_ordencompra_local_resumen.Add(Entity_Resumen); Context.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario }); return(false); } }
public bool guardarDB(com_ordencompra_local_Info info) { com_ordencompra_local_resumen_Info info_resumen = new com_ordencompra_local_resumen_Info(); try { using (Entities_compras Context = new Entities_compras()) { com_ordencompra_local Entity = new com_ordencompra_local { IdEmpresa = info.IdEmpresa, IdComprador = info.IdComprador, IdOrdenCompra = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal), IdDepartamento = info.IdDepartamento, IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat, IdEstado_cierre = info.IdEstado_cierre, IdProveedor = info.IdProveedor, IdSucursal = info.IdSucursal, Tipo = info.Tipo, SecuenciaTipo = info.SecuenciaTipo = get_id_by_tipo(info.IdEmpresa, info.IdSucursal, info.Tipo), IdTerminoPago = info.IdTerminoPago, Estado = "A", oc_plazo = info.oc_plazo, oc_observacion = info.oc_observacion, oc_fecha = info.oc_fecha, oc_fechaVencimiento = info.oc_fechaVencimiento, oc_codigo = info.oc_codigo, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.com_ordencompra_local.Add(Entity); int Secuencia = 1; foreach (var item in info.lst_det) { com_ordencompra_local_det Entity_det = new com_ordencompra_local_det { IdEmpresa = info.IdEmpresa, IdOrdenCompra = info.IdOrdenCompra, IdSucursal = info.IdSucursal, IdProducto = item.IdProducto, IdCod_Impuesto = item.IdCod_Impuesto, IdUnidadMedida = item.IdUnidadMedida, do_Cantidad = item.do_Cantidad, do_descuento = item.do_descuento, do_iva = item.do_iva, do_observacion = item.do_observacion, do_porc_des = item.do_porc_des, do_precioCompra = item.do_precioCompra, do_precioFinal = item.do_precioFinal, do_subtotal = item.do_subtotal, do_total = item.do_total, Por_Iva = item.Por_Iva, Secuencia = Secuencia++, IdCentroCosto = item.IdCentroCosto, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo }; Context.com_ordencompra_local_det.Add(Entity_det); } var Descuento = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_Cantidad * q.do_descuento)), 2, MidpointRounding.AwayFromZero); var ValorIVA = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_iva)), 2, MidpointRounding.AwayFromZero); var SubtotalIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero); var SubtotalSinIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero); var SubtotalIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero); var SubtotalSinIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero); var SubtotalSinDscto = Math.Round(SubtotalIVASinDscto + SubtotalSinIVASinDscto, 2, MidpointRounding.AwayFromZero); var SubtotalConDscto = Math.Round(SubtotalIVAConDscto + SubtotalSinIVAConDscto, 2, MidpointRounding.AwayFromZero); var Total = Math.Round(SubtotalConDscto + ValorIVA, 2, MidpointRounding.AwayFromZero); com_ordencompra_local_resumen Entity_Resumen = new com_ordencompra_local_resumen { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdOrdenCompra = info.IdOrdenCompra, SubtotalIVASinDscto = SubtotalIVASinDscto, SubtotalSinIVASinDscto = SubtotalSinIVASinDscto, SubtotalSinDscto = SubtotalSinDscto, Descuento = Descuento, SubtotalIVAConDscto = SubtotalIVAConDscto, SubtotalSinIVAConDscto = SubtotalSinIVAConDscto, SubtotalConDscto = SubtotalConDscto, ValorIVA = ValorIVA, Total = Total }; Context.com_ordencompra_local_resumen.Add(Entity_Resumen); Context.SaveChanges(); } return(true); } catch (Exception ex) { tb_LogError_Data LogData = new tb_LogError_Data(); LogData.GuardarDB(new tb_LogError_Info { Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario }); return(false); } }
public Boolean Actualizar_EstadoReproba(List <com_solicitud_compra_det_aprobacion_Info> LstInfo, List <com_solicitud_compra_det_aprobacion_Info> lstSol_Genera_OC, string validaMotivo, ref string msg) { try { Boolean res = true; if (Validar_objeto_AprobSolComp(LstInfo, validaMotivo, ref msg)) { odata.Actualizar_EstadoReproba(LstInfo, ref msg); if (validaMotivo == "S") { #region Genera Orden Compra //Generar Orden Compra var Query = from q in lstSol_Genera_OC group q by new { q.IdSucursal_x_OC, q.IdProveedor_SC, q.IdMotivo } into grouping select new { grouping.Key, grouping }; foreach (var grp in Query) { if (grp.Key.IdProveedor_SC != 0 && grp.Key.IdMotivo != 0 && grp.Key.IdSucursal_x_OC != 0) { List <com_solicitud_compra_det_aprobacion_Info> listSolxItemSaldo = new List <com_solicitud_compra_det_aprobacion_Info>(); foreach (var item in grp.grouping) { if (item.Checked == true && item.IdEstadoAprobacion == "APR_SOL" && item.IdEstadoPreAprobacion == "APR_SOL") { com_solicitud_compra_det_aprobacion_Info info = new com_solicitud_compra_det_aprobacion_Info(); info.Checked = item.Checked; info.IdEmpresa = item.IdEmpresa; info.IdSucursal_SC = item.IdSucursal_SC; info.IdSucursal_x_OC = item.IdSucursal_x_OC; info.fecha = item.fecha; info.Solicitante = item.Solicitante; info.IdComprador = item.IdComprador; info.IdComprador = item.IdComprador; info.IdPersona_Solicita = item.IdPersona_Solicita; info.IdDepartamento = item.IdDepartamento; info.IdProveedor = Convert.ToDecimal(item.IdProveedor_SC); info.IdMotivo = item.IdMotivo; info.IdSolicitudCompra = item.IdSolicitudCompra; info.IdEstadoAprobacion = item.IdEstadoAprobacion; info.Secuencia = item.Secuencia_SC; info.observacion = item.observacion; //detalle info.IdProducto_SC = item.IdProducto_SC; info.NomProducto_SC = item.NomProducto_SC; info.Cantidad_aprobada = item.Cantidad_aprobada; info.IdCentroCosto = item.IdCentroCosto; info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; info.IdPunto_cargo = item.IdPunto_cargo; info.IdUnidadMedida = item.IdUnidadMedida; //nuevo info.do_precioCompra = item.do_precioCompra; info.do_porc_des = item.do_porc_des; info.do_descuento = item.do_descuento; info.do_subtotal = item.do_subtotal; info.do_iva = item.do_iva; info.do_total = item.do_total; info.IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva; info.do_observacion = item.do_observacion; info.IdEstadoPreAprobacion = item.IdEstadoPreAprobacion; listSolxItemSaldo.Add(info); } } com_ordencompra_local_Info infOrdCom = new com_ordencompra_local_Info(); decimal id = 0; // string msg = ""; var groupByProv = listSolxItemSaldo.GroupBy(proveedor => proveedor.IdProveedor); List <com_solicitud_compra_det_aprobacion_Info> lista; foreach (var item in groupByProv) { var listaAux = item.ToList().FindAll(q => q.Checked == true && q.IdEstadoAprobacion == "APR_SOL" && q.IdEstadoPreAprobacion == "APR_SOL"); if (listaAux.Count() == 0) { } else { lista = new List <com_solicitud_compra_det_aprobacion_Info>(); lista = listaAux.ToList(); // cabecera Orden Compra int x; x = 1; foreach (var item2 in lista) { while (x <= 1) { infOrdCom = new com_ordencompra_local_Info(); infOrdCom.IdEmpresa = item2.IdEmpresa; infOrdCom.IdProveedor = item2.IdProveedor; infOrdCom.Tipo = "LOCAL"; infOrdCom.IdTerminoPago = null; infOrdCom.oc_plazo = 0; infOrdCom.oc_fecha = Convert.ToDateTime(DateTime.Now.ToShortTimeString()); infOrdCom.oc_flete = 0; infOrdCom.oc_observacion = item2.observacion; infOrdCom.Estado = "A"; infOrdCom.oc_fechaVencimiento = item2.fecha; com_parametro_Bus Bus_ParamCompra = new com_parametro_Bus(); com_parametro_Info InfoComDev = new com_parametro_Info(); InfoComDev = Bus_ParamCompra.Get_Info_parametro(item2.IdEmpresa); infOrdCom.IdEstadoAprobacion_cat = InfoComDev.IdEstadoAprobacion_OC; infOrdCom.Solicitante = item2.Solicitante; infOrdCom.IdComprador = item2.IdComprador; infOrdCom.AfectaCosto = "N"; infOrdCom.IdSolicitante = item2.IdPersona_Solicita; infOrdCom.IdEstadoRecepcion_cat = "PEN"; infOrdCom.IdDepartamento = item2.IdDepartamento; cl_parametrosGenerales_Bus param = cl_parametrosGenerales_Bus.Instance; infOrdCom.IdUsuario = param.IdUsuario; com_parametro_Bus bus_param = new com_parametro_Bus(); List <com_parametro_Info> listParam = new List <com_parametro_Info>(); listParam = bus_param.Get_List_parametro(item2.IdEmpresa); var itemParam = listParam.FirstOrDefault(q => q.IdEmpresa == item2.IdEmpresa); //infOrdCom.IdSucursal = itemParam.IdSucursal_x_Aprob_x_SolComp; infOrdCom.IdSucursal = item2.IdSucursal_x_OC; infOrdCom.IdMotivo = item2.IdMotivo; x = x + 1; } } // detalle orden compra List <com_ordencompra_local_det_Info> listDetOrdComp = new List <com_ordencompra_local_det_Info>(); foreach (var item3 in lista) { com_ordencompra_local_det_Info infoDet_Oc = new com_ordencompra_local_det_Info(); infoDet_Oc.IdSucursal = item3.IdSucursal_x_OC; infoDet_Oc.IdProducto = Convert.ToDecimal(item3.IdProducto_SC); infoDet_Oc.do_Cantidad = item3.Cantidad_aprobada; infoDet_Oc.do_Costeado = "N"; infoDet_Oc.do_peso = 0; infoDet_Oc.do_precioCompra = item3.do_precioCompra; infoDet_Oc.do_porc_des = item3.do_porc_des; infoDet_Oc.do_descuento = item3.do_descuento; infoDet_Oc.do_subtotal = item3.do_subtotal; infoDet_Oc.do_iva = item3.do_iva; infoDet_Oc.do_total = item3.do_total; infoDet_Oc.IdCod_Impuesto = item3.IdCod_Impuesto_Iva; infoDet_Oc.do_observacion = item3.do_observacion; infoDet_Oc.IdPunto_cargo = item3.IdPunto_cargo; infoDet_Oc.IdCentroCosto = item3.IdCentroCosto; infoDet_Oc.IdCentroCosto_sub_centro_costo = item3.IdCentroCosto_sub_centro_costo; infoDet_Oc.IdUnidadMedida = item3.IdUnidadMedida; listDetOrdComp.Add(infoDet_Oc); } // detalle solicitud compra List <com_solicitud_compra_det_Info> listDetSoliciComp = new List <com_solicitud_compra_det_Info>(); foreach (var item3 in lista) { com_solicitud_compra_det_Info infoDetSolCom = new com_solicitud_compra_det_Info(); infoDetSolCom.IdEmpresa = item3.IdEmpresa; infoDetSolCom.IdSucursal = item3.IdSucursal_SC; infoDetSolCom.IdSolicitudCompra = item3.IdSolicitudCompra; infoDetSolCom.Secuencia = item3.Secuencia; infoDetSolCom.IdProducto = item3.IdProducto_SC; infoDetSolCom.do_Cantidad = item3.Cantidad_aprobada; infoDetSolCom.NomProducto = item3.NomProducto_SC; infoDetSolCom.IdPunto_cargo = item3.IdPunto_cargo; infoDetSolCom.IdCentroCosto = item3.IdCentroCosto; infoDetSolCom.IdCentroCosto_sub_centro_costo = item3.IdCentroCosto_sub_centro_costo; infoDetSolCom.do_observacion = item3.do_observacion; infoDetSolCom.IdUnidadMedida = item3.IdUnidadMedida; listDetSoliciComp.Add(infoDetSolCom); } // grabar orden de compra com_ordencompra_local_Bus bus_OrdComp = new com_ordencompra_local_Bus(); infOrdCom.listDetalle = listDetOrdComp; infOrdCom.listDetSoliciComp = listDetSoliciComp; if (bus_OrdComp.GuardarDB(infOrdCom, ref id, ref msg)) { msg = "Se ha procedido a grabar el registro de la Orden/Compra #: " + id.ToString() + " exitosamente."; } else { msg = "Error al grabar OC. " + msg; } } } } } #endregion } } else { res = false; } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Actualizar_EstadoReproba", ex.Message), ex) { EntityType = typeof(com_solicitud_compra_det_aprobacion_Bus) }; } }
public Boolean GuardarDB(com_ordencompra_local_Info Info, ref decimal id, ref string msg) { try { Boolean res = true; if (Validar_objeto(Info, ref msg)) { //cabecera res = BusOC.GuardarDB(Info, ref id); foreach (var item in Info.listDetalle) { item.IdEmpresa = Info.IdEmpresa; item.IdSucursal = Info.IdSucursal; item.IdOrdenCompra = id; //item.IdUnidadMedida=Info.listDetalle. } //detalle res = BusOC_det.GuardarDB(Info.listDetalle, ref msg); // opcion habilitada cuando se graba desde la pantalla aprobacion de solicitudes con generacion de orden compra #region grabar en tabla intermedia com_ordencompra_local_det_x_com_solicitud_compra_det if (Info.listDetSoliciComp.Count() != 0) { // consulto detalle orden compra com_ordencompra_local_det_Data odata = new com_ordencompra_local_det_Data(); List <com_ordencompra_local_det_Info> listDetComp = new List <com_ordencompra_local_det_Info>(); listDetComp = odata.Get_List_ordencompra_local_det(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listDetCompra = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listDetSoliCompra = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); com_ordencompra_local_det_x_com_solicitud_compra_det_Info info; foreach (var item in listDetComp) { info = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); info.ocd_IdEmpresa = item.IdEmpresa; info.ocd_IdSucursal = item.IdSucursal; info.ocd_IdOrdenCompra = item.IdOrdenCompra; info.ocd_Secuencia = item.Secuencia; listDetCompra.Add(info); } foreach (var item in Info.listDetSoliciComp) { info = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); info.scd_IdEmpresa = item.IdEmpresa; info.scd_IdSucursal = item.IdSucursal; info.scd_IdSolicitudCompra = item.IdSolicitudCompra; info.scd_Secuencia = item.Secuencia; listDetSoliCompra.Add(info); } int scd_IdEmpresa = 0; int scd_IdSucursal = 0; decimal scd_IdSolicitudCompra = 0; int scd_Secuencia = 0; foreach (var item in listDetCompra) { var items = listDetSoliCompra.First(v => v.ocd_IdEmpresa == 0 && v.ocd_IdSucursal == 0 && v.ocd_IdOrdenCompra == 0 && v.ocd_Secuencia == 0); scd_IdEmpresa = items.scd_IdEmpresa; scd_IdSucursal = items.scd_IdSucursal; scd_IdSolicitudCompra = items.scd_IdSolicitudCompra; scd_Secuencia = items.scd_Secuencia; listDetSoliCompra.Remove(items); item.scd_IdEmpresa = scd_IdEmpresa; item.scd_IdSucursal = scd_IdSucursal; item.scd_IdSolicitudCompra = scd_IdSolicitudCompra; item.scd_Secuencia = scd_Secuencia; } com_ordencompra_local_det_x_com_solicitud_compra_det_Bus bus_Inter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Bus(); if (bus_Inter.GrabarDB(listDetCompra, ref mensaje)) { } } #endregion } else { res = false; } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }