public static ECodigoRecogida InstanciarDesde(DataRow registro) { if (registro == null) { throw new ArgumentNullException("Datos de CodigosRecogida nulos o vacíos."); } ECodigoRecogida codigoRecogida; string codigo, descripcion; codigo = (string)registro["id_codificacion"]; descripcion = (string)registro["descripcion"]; codigoRecogida = new ECodigoRecogida(codigo, descripcion); return(codigoRecogida); }
private void IniciarRecogida() { // código de la recogida string codigo = string.Empty; if (Entorno.Instancia.Vista.ModalRecogidas != null) { codigo = Entorno.Instancia.Vista.ModalRecogidas.CodigoRecogida; } else { codigo = Solicitud.CodigoRecogida; } ECodigoRecogida eCodigo = Entorno.Instancia.CodigosRecogida.CodigoRecogida(codigo); // List <decimal> listRecogidas = new List <decimal>(); Entorno.Instancia.Recogida = new Entidades.ERecogida(eCodigo, listRecogidas); Entorno.Instancia.Recogida.listRecogidas = new List <decimal>(); Entorno.Instancia.Recogida.EstaAbierta = false; }
/// <summary> /// /// </summary> private void AgregarRecogida() { if (Entorno.Instancia.Recogida == null) { // código de la recogida string codigo = string.Empty; if (Entorno.Instancia.Vista.ModalRecogidas != null) { codigo = Entorno.Instancia.Vista.ModalRecogidas.CodigoRecogida; } else { codigo = Entorno.Instancia.Vista.PanelRecogidas.CodigoRecogida; } ECodigoRecogida eCodigo = Entorno.Instancia.CodigosRecogida.CodigoRecogida(codigo); // List <decimal> listRecogidas = new List <decimal>(); Entorno.Instancia.Recogida = new Entidades.ERecogida(eCodigo, listRecogidas); Entorno.Instancia.Recogida.listRecogidas = new List <decimal>(); } if (!Entorno.Instancia.Recogida.EstaAbierta) { Entorno.Instancia.Recogida.EstaAbierta = true; } // bool porDenominacion = solicitud.ValorRecogida.Contains('*'); int cantidad = 0; double valorRecogida = 0; if (Config.ViewMode == InternalSettings.ModoTouch) { if (string.IsNullOrEmpty(solicitud.ValorRecogida)) { throw new Exception("El valor no puede ser vacío o igual a cero."); } else { valorRecogida = Extensions.UnformatCurrencyValue(solicitud.ValorRecogida); // if (valorRecogida <= 0) { throw new Exception("El valor no puede ser vacío o igual a cero."); } } } else { if (porDenominacion) { cantidad = Convert.ToInt32(solicitud.ValorRecogida.Split('*')[0]); string valorDenominacion = solicitud.ValorRecogida.Split('*')[1]; if (string.IsNullOrEmpty(valorDenominacion) || Double.Parse(valorDenominacion) <= 0) { throw new Exception("El valor no puede ser vacío o igual a cero."); } else { if (cantidad == 0) { throw new Exception("El valor no puede ser vacío o igual a cero."); } valorRecogida = Convert.ToDouble(valorDenominacion) * cantidad; } } else { if (string.IsNullOrEmpty(solicitud.ValorRecogida) || Double.Parse(solicitud.ValorRecogida) <= 0) { throw new Exception("El valor no puede ser vacío o igual a cero."); } else { valorRecogida = Convert.ToDouble(solicitud.ValorRecogida); } } } log.Info("[CmdAgregarRecogida] Guardando recogida ..."); //Valor de la pantalla decimal valor = 0; valor = Convert.ToDecimal(valorRecogida); Entorno.Instancia.Recogida.listRecogidas.Add(valor); if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Recogida.AgregarValor(valor); } decimal totalRecogidas = Entorno.Instancia.Recogida.listRecogidas.Sum(); if (Entorno.Instancia.Vista.PanelRecogidas != null) { Entorno.Instancia.Vista.PanelRecogidas.VisorEntrada = string.Empty; iu.PanelRecogidas.VisorEntrada = string.Empty; iu.PanelRecogidas.VisorMensaje = string.Format("Valor Agregado: {0} [{1}]", valor.ToCustomCurrencyFormat(useThousandsLimit: false), totalRecogidas.ToCustomCurrencyFormat(useThousandsLimit: false)); } log.Info($"[CmdAgregarRecogida] Agregar Recogida: {valor.ToString("C")} - Total: {totalRecogidas.ToString("C")}"); //Terminar recogida touch if (Config.ViewMode == InternalSettings.ModoTouch) { Solicitudes.SolicitudTerminarRecogida terminarRecogida = new Solicitudes.SolicitudTerminarRecogida(Solicitud.TerminarRecogida); Reactor.Instancia.Procesar(terminarRecogida); } }