예제 #1
0
        /// <summary>
        /// Complementa el concepto de poliza con los folios de traspaso
        /// </summary>
        /// <param name="polizasSacrificioSukarne"></param>
        /// <param name="lotesSacrificioFolios"></param>
        /// <param name="interfaceSalidaTraspaso"> </param>
        private void ComplementarConceptoPoliza(IList <PolizaInfo> polizasSacrificioSukarne
                                                , List <PolizaSacrificioModel> lotesSacrificioFolios
                                                , List <InterfaceSalidaTraspasoInfo> interfaceSalidaTraspaso)
        {
            PolizaSacrificioModel polizaSacrificioModel;
            List <PolizaInfo>     polizas;

            var detalleTraspaso = new List <InterfaceSalidaTraspasoDetalleInfo>();

            interfaceSalidaTraspaso.ForEach(
                detalle => detalleTraspaso.AddRange(detalle.ListaInterfaceSalidaTraspasoDetalle));

            InterfaceSalidaTraspasoDetalleInfo interfaceSalidaTraspasoDetalle;
            InterfaceSalidaTraspasoInfo        interfaceSalida;

            for (var indexLotes = 0; indexLotes < lotesSacrificioFolios.Count; indexLotes++)
            {
                polizaSacrificioModel = lotesSacrificioFolios[indexLotes];
                polizas =
                    polizasSacrificioSukarne.Where(
                        concepto =>
                        concepto.Concepto
                        .IndexOf(
                            string.Format("{0}-{1}", polizaSacrificioModel.Serie, polizaSacrificioModel.Folio),
                            StringComparison.Ordinal) >= 0).ToList();
                if (polizas.Any())
                {
                    interfaceSalidaTraspasoDetalle = detalleTraspaso.FirstOrDefault(
                        det =>
                        det.InterfaceSalidaTraspasoDetalleID == polizaSacrificioModel.InterfaceSalidaTraspasoDetalleID);
                    if (interfaceSalidaTraspasoDetalle == null)
                    {
                        interfaceSalidaTraspasoDetalle = new InterfaceSalidaTraspasoDetalleInfo();
                    }
                    interfaceSalida = interfaceSalidaTraspaso.FirstOrDefault(
                        id =>
                        id.InterfaceSalidaTraspasoId ==
                        interfaceSalidaTraspasoDetalle.InterfaceSalidaTraspasoID);
                    if (interfaceSalida == null)
                    {
                        interfaceSalida = new InterfaceSalidaTraspasoInfo();
                    }
                    polizas.ForEach(
                        con =>
                        con.Concepto =
                            string.Format("{0} ST-{1}", con.Concepto, interfaceSalida.FolioTraspaso));
                }
            }
        }
예제 #2
0
        private void BtnAgregar_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                if (ValidarCamposObligatorios())
                {
                    if (ValidarCorralDentroDelGrid())
                    {
                        if (ValidarTipoTraspaso())
                        {
                            if (ValidaCabezasLote())
                            {
                                if (GridOrganizacionesTraspaso.Items.Count == 0)
                                {
                                    GridOrganizacionesTraspaso.ItemsSource = listadoDeTraspaso;
                                }
                                var detalle = new InterfaceSalidaTraspasoDetalleInfo
                                {
                                    Lote                = Contexto.LoteInfo,
                                    Corral              = Contexto.CorralInfo,
                                    TipoGanado          = Contexto.TipoGanado,
                                    PesoProyectado      = Contexto.TipoGanado.PesoSalida,
                                    GananciaDiaria      = Contexto.LoteProyecion.GananciaDiaria,
                                    DiasEngorda         = Contexto.DiasEngorda,
                                    Formula             = Contexto.Formula,
                                    DiasFormula         = Contexto.DiasFormula,
                                    Cabezas             = Contexto.CabezasEnvio,
                                    Registrado          = false,
                                    OrganizacionDestino = Contexto.OrganizacionDestino,
                                    TraspasoGanado      = Contexto.TraspasoGanado,
                                    SacrificioGanado    = Contexto.SacrificioGanado,
                                    UsuarioCreacionID   = Contexto.UsuarioModificacionID == null ? Contexto.UsuarioCreacionID : Contexto.UsuarioModificacionID.Value
                                };
                                var item = Extensor.ClonarInfo(detalle) as InterfaceSalidaTraspasoDetalleInfo;
                                listadoDeTraspaso.Add(item);

                                Habilitar(false);

                                Contexto.LoteInfo             = new LoteInfo();
                                Contexto.CorralInfo           = new CorralInfo();
                                Contexto.LoteProyecion        = new LoteProyeccionInfo();
                                Contexto.TipoGanado           = new TipoGanadoInfo();
                                Contexto.Formula              = new FormulaInfo();
                                Contexto.DiasEngorda          = 0;
                                Contexto.DiasFormula          = 0;
                                Contexto.CabezasEnvio         = 0;
                                skAyudaOrganizacion.IsEnabled = false;
                                TxtCorral.Focus();
                                //Inicializar();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.TraspasoGanadoGordo_MensajeErrorAlAgregarOrganizacion,
                                  MessageBoxButton.OK, MessageImage.Warning);
            }
        }