public PRO022Presenter(IUnityContainer x_container, IPRO022LView x_lview, TipoInicio x_opcion = TipoInicio.Normal) { try { ContainerService = x_container; Session = ContainerService.Resolve <ISessionService>(); TInicio = x_opcion; LView = x_lview; } catch (Exception ex) { Dialogos.MostrarMensajeError(Title, Mensajes.ConstructorPresenter, ex); } }
public void LoadView(TipoInicio x_opcion) { try { txaENTC_Codigo.LoadControl(Presenter.ContainerService, Delfin.Controls.TiposEntidad.TIPE_Cliente, null, null, true); cmbTIPO_CodMND.LoadControl(Presenter.ContainerService, "Ayuda Moneda", "MND", "< Sel. Moneda>", ListSortDirection.Ascending); cmbTIPE_Codigo.LoadControl(Presenter.ContainerService, "Tipo de Entidad", "< Sel. Tipo de Entidad >", ListSortDirection.Ascending); //cmbTIPO_CodDES.LoadControl(Presenter.ContainerService, "Tipo de Descuadre/Tipificación", "DES", "< Sel. Tipificación >", ListSortDirection.Ascending); cmbTIPD_Tipo.LoadControl("Tipo de Tipificación", Delfin.Controls.Tipos.ComboBoxConstantes.OConstantes.TipoMovimientoDB, "< Sel. Tipo >", ListSortDirection.Ascending); cmbCENT_Ano.ValueMember = "CENT_Ano"; cmbCENT_Ano.DisplayMember = "CENT_Ano"; cmbCENT_Ano.DataSource = Presenter.DSPeriodos.Tables[0]; txnTIPD_TipoCambio.Value = Presenter.TipoCambio; switch (Presenter.TMovimiento) { case TipoMovimientoCtaCte.Ingresos: cmbTIPO_CodDES.LoadControl(Presenter.ListTipoDES.Where(TDES => TDES.TIPO_Desc3 == "I" || String.IsNullOrEmpty(TDES.TIPO_Desc3)).ToObservableCollection(), "Tipo Descuadre", "< Sel. Tipificación >", ListSortDirection.Ascending); break; case TipoMovimientoCtaCte.Egresos: cmbTIPO_CodDES.LoadControl(Presenter.ListTipoDES.Where(TDES => TDES.TIPO_Desc3 == "E" || String.IsNullOrEmpty(TDES.TIPO_Desc3)).ToObservableCollection(), "Tipo Descuadre", "< Sel. Tipificación >", ListSortDirection.Ascending); break; default: break; } switch (TInicio) { case TipoInicio.Nuevo: break; case TipoInicio.Editar: break; default: break; } SetItem(); } catch (Exception ex) { Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeError(Presenter.Title, "Ha ocurrido un error en el LoadView.", ex); } }
private static string GetCadenaFiltroContador(TipoInicio tipo, DateTime?fecha) { var result = string.Empty; if (tipo != TipoInicio.Sinreinicio && fecha.HasValue) { var sb = new StringBuilder(); sb.AppendFormat(" AND YEAR(fechadocumento) = year(@fecha) "); if (tipo == TipoInicio.Mensual) { sb.AppendFormat(" AND MONTH(fechadocumento) = MONTH(@fecha) "); } result = sb.ToString(); } return(result); }
public static string GetNextIdContableMovimientosTesoreria <T>(MarfilEntities db, string empresa, string serie, TipoInicio tipoinicio = TipoInicio.Sinreinicio, DateTime?fecha = null) where T : class { string max; var columna = "identificadorsegmentoremesa"; string whereReinicio = string.Empty; if (tipoinicio != TipoInicio.Sinreinicio && fecha.HasValue) { whereReinicio = " AND YEAR(fecha) = year(@fecha) "; if (tipoinicio == TipoInicio.Mensual) { whereReinicio = " AND MONTH(fecha) = MONTH(@fecha) "; } } var query = string.Format("select max({2}) from {0} where fkseriescontablesremesa=@fkseries and empresa=@empresa {1}", typeof(T).Name, whereReinicio, columna); var parametros = new SqlParameter[] { new SqlParameter() { Value = serie, ParameterName = "@fkseries" }, new SqlParameter() { Value = empresa, ParameterName = "@empresa" } }; if (tipoinicio != TipoInicio.Sinreinicio && fecha.HasValue) { parametros = new SqlParameter[] { new SqlParameter() { Value = serie, ParameterName = "@fkseries" }, new SqlParameter() { Value = empresa, ParameterName = "@empresa" }, new SqlParameter() { Value = fecha, ParameterName = "@fecha" } }; } max = db.Database.SqlQuery <string>(query, parametros).SingleOrDefault(); //using (var con = new SqlConnection(db.Database.Connection.ConnectionString)) //{ //using (var cmd = new SqlCommand(string.Format("select max({2}) from {0} where fkseriescontables=@fkseries and empresa=@empresa {1}", typeof(T).Name, GetCadenaFiltroContador(tipoinicio, fecha), columna), (SqlConnection)db.Database.Connection)) //{ // cmd.Parameters.Add(new SqlParameter() { Value = serie, ParameterName = "@fkseries" }); // cmd.Parameters.Add(new SqlParameter() { Value = empresa, ParameterName = "@empresa" }); // if (tipoinicio != TipoInicio.Sinreinicio && fecha.HasValue) // cmd.Parameters.Add(new SqlParameter() { Value = fecha, ParameterName = "@fecha" }); // if (cmd.Connection.State == ConnectionState.Closed) // { // cmd.Connection.Open(); // } // max = Funciones.Qnull(cmd.ExecuteScalar()); // //using (var ad = new SqlDataAdapter(cmd)) // //{ // // var table = new DataTable(); // // ad.Fill(table); // // max = Funciones.Qnull(table.Rows[0][0]); // //} //} //} var last = Funciones.Qint(max); var result = last.HasValue ? (last + 1).ToString() : string.Empty; var contador = db.SeriesContables.Single(f => f.empresa == empresa && f.id == serie).fkcontadores; var contadorObj = db.Contadores.Include("ContadoresLin").Single(f => f.empresa == empresa && f.id == contador); if (string.IsNullOrEmpty(max)) { result = contadorObj.primerdocumento?.ToString() ?? string.Empty; } if (string.IsNullOrEmpty(result)) { throw new Exception("No se puede generar el siguiente numero"); } var longitudcodigo = contadorObj.ContadoresLin.Single(f => f.tiposegmento == (int)TiposSegmentos.Secuencia).longitud ?? 0; return(Funciones.RellenaCod(result, longitudcodigo)); }