/// <summary> /// Verifica si una planilla fiscal se encuentra en la lista /// </summary> /// <param name="planilla"></param> /// <param name="planillas"></param> /// <returns></returns> private bool ComparaPlanilla(Entities.PlanillasFiscales planilla, List<Entities.PlanillasFiscales> planillas) { foreach (Entities.PlanillasFiscales p in planillas) { if (p.Serie == planilla.Serie && p.Folio == planilla.Folio && p.Estacion_ID == planilla.Estacion_ID) { return true; } } return false; }
/// Elimina una planilla fiscal de la lista actual /// </summary> /// <param name="planilla"></param> private void EliminarPlanillaFiscal(Entities.PlanillasFiscales planilla) { // Desligamos los datos planillasFiscalesBindingSource.DataSource = null; // Obtener las 5 planillas a eliminar int folioinicial, foliofinal; // Obtenemos el residuo de la división del folio entre 5, // ya que las planillas se venden en paquetes de 5 int baseint = (int)Math.Floor(((double)planilla.Folio / 5D)); double basedec = ((double)planilla.Folio / 5D); double res = basedec - baseint; // Si el residuo es 0, if (res == 0) { // El folio final es el folio, la base multiplicada por 5 foliofinal = baseint * 5; // Para el folio inicial, reducimos el final en 5 folioinicial = foliofinal - 5; } else // si el residuo no es 0 { // El folio inicial es la base multiplicada pos 5, más 1 folioinicial = (baseint * 5) + 1; // El folio final es el folio inicial, más cuatro unidades foliofinal = folioinicial + 4; } // Buscamos las planitllas en la lista List<Entities.PlanillasFiscales> list = Planillas.FindAll( delegate(Entities.PlanillasFiscales p) { return p.Folio >= folioinicial && p.Folio <= foliofinal; }); // Eliminar cada planilla foreach (Entities.PlanillasFiscales p in list) { Planillas.Remove(p); } // Recalculamos los totales CalcularTotales(); // Volvemos a ligar datos planillasFiscalesBindingSource.DataSource = Planillas; }
/// <summary> /// Al hacer clic en la celda "EliminarPlanilla", /// elimina la planilla /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void PlanillasFiscalesDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { // Eliminar planilla fiscal de lista if (PlanillasFiscalesDataGridView.Columns[e.ColumnIndex].Name == "EliminarPlanilla") { Entities.PlanillasFiscales planilla = (Entities.PlanillasFiscales)PlanillasFiscalesDataGridView.Rows[e.RowIndex].DataBoundItem; EliminarPlanillaFiscal(planilla); } } catch (Exception ex) { AppHelper.Error(ex.Message); } }
/// <summary> /// Actualiza una planilla como vendida /// </summary> /// <param name="planilla"></param> private void MarcarPlanilla(Entities.PlanillasFiscales planilla) { planilla.EstatusPlanillaFiscal_ID = 2; planilla.Ticket_ID = Ticket.Ticket_ID; planilla.Update(); }