コード例 #1
0
ファイル: PrecioPACBL.cs プロジェクト: vijaydairyf/Prueba
 public void Dispose()
 {
     precioPACDAL.Disposed += (s, e) =>
     {
         precioPACDAL = null;
     };
     precioPACDAL.Dispose();
 }
コード例 #2
0
ファイル: PrecioPACBL.cs プロジェクト: vijaydairyf/Prueba
 public PrecioPACBL()
 {
     precioPACDAL = new PrecioPACDAL();
 }
コード例 #3
0
        /// <summary>
        /// Recalcula los importes de Canal, Piel y Viscera
        /// </summary>
        /// <param name="polizasSacrificioSukarne"></param>
        /// <param name="polizasSacrificioTraspaso"> </param>
        /// <param name="lotesSacrificioFolios"></param>
        /// <param name="interfaceSalidaTraspaso"></param>
        /// <param name="cancelacion"> </param>
        private void GenerarImportesSacrificioLucero(IList <PolizaInfo> polizasSacrificioSukarne
                                                     , IList <PolizaInfo> polizasSacrificioTraspaso
                                                     , List <PolizaSacrificioModel> lotesSacrificioFolios
                                                     , List <InterfaceSalidaTraspasoInfo> interfaceSalidaTraspaso
                                                     , bool cancelacion)
        {
            polizasSacrificioTraspaso =
                polizasSacrificioTraspaso.Where(
                    imp => imp.Importe.IndexOf("-", StringComparison.CurrentCultureIgnoreCase) < 0).ToList();
            if (polizasSacrificioTraspaso.Any())
            {
                int folioTraspaso =
                    polizasSacrificioTraspaso.Select(folio => Convert.ToInt32(folio.TextoAsignado)).FirstOrDefault();
                InterfaceSalidaTraspasoInfo traspaso =
                    interfaceSalidaTraspaso.FirstOrDefault(id => id.FolioTraspaso == folioTraspaso);
                if (traspaso != null)
                {
                    var           precioPACBL = new PrecioPACDAL();
                    PrecioPACInfo precioPac   =
                        precioPACBL.ObtenerPrecioPACActivo(traspaso.OrganizacionDestino.OrganizacionID);
                    if (precioPac == null)
                    {
                        precioPac = new PrecioPACInfo();
                    }
                    decimal importe = polizasSacrificioTraspaso.Sum(imp => Convert.ToDecimal(imp.Importe));
                    traspaso.ListaInterfaceSalidaTraspasoDetalle
                    .ForEach(datos =>
                    {
                        PolizaSacrificioModel polizaSacrificioModel =
                            lotesSacrificioFolios.FirstOrDefault(
                                detId =>
                                detId.InterfaceSalidaTraspasoDetalleID ==
                                datos.InterfaceSalidaTraspasoDetalleID);
                        if (polizaSacrificioModel != null)
                        {
                            List <PolizaInfo> polizasAModificar =
                                polizasSacrificioSukarne.Where(
                                    folio =>
                                    folio.Concepto
                                    .IndexOf(string.Format("{0}-{1}", polizaSacrificioModel.Serie,
                                                           polizaSacrificioModel.Folio),
                                             StringComparison.CurrentCultureIgnoreCase) >= 0).
                                OrderBy(linea => Convert.ToInt32(linea.NumeroLinea)).ToList();
                            if (polizasAModificar.Any())
                            {
                                decimal importeTotal   = importe + (datos.Cabezas * 320);
                                decimal importeCanal   = 0;
                                decimal importePiel    = polizaSacrificioModel.PesoPiel * precioPac.Precio;
                                decimal importeViscera = datos.Cabezas * precioPac.PrecioViscera;

                                const int CANAL   = 1;
                                const int PIEL    = 2;
                                const int VISCERA = 3;
                                polizasAModificar.ForEach(poliza =>
                                {
                                    switch (Convert.ToInt32(poliza.NumeroLinea))
                                    {
                                    case CANAL:
                                        importeCanal = importeTotal -
                                                       (importePiel +
                                                        importeViscera);
                                        poliza.Importe =
                                            string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-",
                                                          importeCanal);
                                        polizaSacrificioModel.
                                        ImporteCanal =
                                            importeCanal;
                                        break;

                                    case PIEL:
                                        poliza.Importe =
                                            string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-",
                                                          importePiel);
                                        polizaSacrificioModel.
                                        ImportePiel = importePiel;
                                        break;

                                    case VISCERA:
                                        poliza.Importe =
                                            string.Format("{0}{1:F2}", cancelacion ? string.Empty : "-",
                                                          importeViscera);
                                        polizaSacrificioModel.
                                        ImporteViscera =
                                            importeViscera;
                                        break;

                                    case 4:
                                        poliza.Importe =
                                            string.Format("{0}{1:F2}", cancelacion ? "-" : string.Empty,
                                                          importeCanal +
                                                          importePiel +
                                                          importeViscera);
                                        break;
                                    }
                                });
                            }
                        }
                    });
                }
            }
        }