/// <summary> /// Guarda la configuración inicial. /// </summary> /// <param name="sender">El objeto que llama la función</param> /// <param name="e">Los eventos</param> private void SaveInitialConfig(object sender, EventArgs e) { try { foreach (Control control in this.Controls) { if (control.Name == "gpbConfiguracion") { foreach(Control config in control.Controls) { if (config.Name.Substring(0, 3) == "txt") { string tipoDato = config.Name.Substring(3, 1); tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); FlujoDBDataSet.T_ConfiguracionesRow tcrId; if (flujoDBDataSet1.T_Configuraciones.Rows.Count > 0) { tcrId = (FlujoDBDataSet.T_ConfiguracionesRow)flujoDBDataSet1.T_Configuraciones.Rows[ flujoDBDataSet1.T_Configuraciones.Rows.Count - 1]; configId = int.Parse(tcrId["Id"].ToString()) + 1; } //Asigna los valores del nuevo campo tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = config.Name.Substring(4).Trim(); tConfiguracionesRow["Valor"] = config.Text.Trim().Replace("$", "").Replace(",", "").Replace(".", "").Replace("%", ""); tConfiguracionesRow["TipoDato"] = tipoDato + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "I"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); } } } } int result = 0; foreach (FlujoDBDataSet.T_ConfiguracionesRow dr in flujoDBDataSet1.T_Configuraciones.Rows) { result = t_ConfiguracionesTableAdapter1.UpdateTConfiguracion( int.Parse(dr["Id"].ToString()), int.Parse(dr["SesionId"].ToString()), dr["Campo"].ToString(), dr["Valor"].ToString(), dr["TipoDato"].ToString(), short.Parse(dr["Estatus"].ToString())); if (result == 0) { result = t_ConfiguracionesTableAdapter1.InsertTConfiguracion( int.Parse(dr["Id"].ToString()), int.Parse(dr["SesionId"].ToString()), dr["Campo"].ToString(), dr["Valor"].ToString(), dr["TipoDato"].ToString(), short.Parse(dr["Estatus"].ToString())); } result = 0; } flujoDBDataSet1.AcceptChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Error"); } }
/// <summary> /// Guarda la colocación en la base de datos. /// </summary> /// <param name="sender">El objeto que llama la función</param> /// <param name="e">Los eventos</param> private void btnSaveColocacion_Click(object sender, EventArgs e) { try { bool isToApCap = true; if (double.Parse(txtMApCapital.Text) > 0) { if (Properties.Settings.Default.IsAutomatic) { this.btnAgregarCapital_Click(sender, e); } else { if (DialogResult.Yes == MessageBox.Show("¿Desea agregar " + string.Format("{0:C0}", double.Parse(txtMApCapital.Text)) + " al capital?", "Aportación", MessageBoxButtons.YesNo)) { this.btnAgregarCapital_Click(sender, e); } else { isToApCap = false; } } } if (colocacion == capital) { txtMCapital.Text = "0"; } else if (capital > 0 && capital < colocacion) { if (isApCapCte) { MessageBox.Show( "Coloque los créditos necesarios para no exceder el capital o haga una aportación", "Capital Insuficiente"); isToApCap = false; } } if (isToApCap) { foreach (Control config in this.Controls) { if (config.Name == "gpbColocacion") { foreach (Control dataG in config.Controls) { if (dataG is GroupBox) { foreach (Control data in dataG.Controls) { if (data.Name.Substring(0, 3) == "txt") { string tipoDato = data.Name.Substring(3, 1); tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); FlujoDBDataSet.T_ConfiguracionesRow tcrId; if (flujoDBDataSet1.T_Configuraciones.Rows.Count > 0) { tcrId = (FlujoDBDataSet.T_ConfiguracionesRow)flujoDBDataSet1.T_Configuraciones.Rows[ flujoDBDataSet1.T_Configuraciones.Rows.Count - 1]; configId = int.Parse(tcrId["Id"].ToString()) + 1; } if (data.Name.Substring(0, 5) == "txtNC" && data.Text != "0") { this.generaTablaDeAmortizacion(data); } //Asigna los valores del nuevo campo tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = data.Name.Substring(4).Trim(); tConfiguracionesRow["Valor"] = data.Text.Trim().Replace("$", "").Replace(",", "").Replace(".", ""); tConfiguracionesRow["TipoDato"] = tipoDato + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); } } } } } } //Guarda la cantidad de distribuidoras para el período actual configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CD"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.DistribuidorasAnt; tConfiguracionesRow["TipoDato"] = "N" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CDT"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.DistribuidorasAnt + dist2Credito; tConfiguracionesRow["TipoDato"] = "N" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); Properties.Settings.Default.LastIdCliente = clienteID; Properties.Settings.Default.isColocacionConfigured = true; Properties.Settings.Default.ClientesNuevos = creditosCN; Properties.Settings.Default.Clientes2Credito = creditosCA; Properties.Settings.Default.ColocacionE = colocacion; if (periodoActual == 1) { Properties.Settings.Default.ApCapital = double.Parse(txtMCapital.Text.Replace("$", "").Replace(",", "")); } Properties.Settings.Default.PerdidaE = double.Parse(txtPPerdida.Text); Properties.Settings.Default.ComisionDistE = double.Parse(txtPComisionDist.Text); Properties.Settings.Default.GastosFijosPROSAE = double.Parse(txtMGastosFijosPROSA.Text); Properties.Settings.Default.GastosVarPROSAE = double.Parse(txtMGastosVarPROSA.Text); Properties.Settings.Default.GastosFijosZafyE = double.Parse(txtMGastosFijosZafy.Text); Properties.Settings.Default.GastosVarZafyE = double.Parse(txtMGastosVarZafy.Text); Properties.Settings.Default.GastosXPublicidadE = double.Parse(txtMGastosXPublicidad.Text); Properties.Settings.Default.BonosPremiosE = double.Parse(txtPBonosPremios.Text); Properties.Settings.Default.RetirosE = double.Parse(txtPRetiros.Text); //Verifica colocación y genera porcentajes en caso de variación double dist = Properties.Settings.Default.DistribuidorasAnt; double ctesTotales = creditosCN + creditosCA; if (periodoActual > 1 && ctesTotales != clientesNuevos) { ctesDist = Math.Round((creditosCN - dist) * (Properties.Settings.Default.CtesDistPProd / 100)); ctesMM = Math.Round((creditosCN - dist) * (Properties.Settings.Default.CtesMMPProd / 100)); ctesCZ = Math.Round((creditosCN - dist) * (Properties.Settings.Default.CtesCZPProd / 100)); ctesMC = Math.Round((creditosCN - dist) * (Properties.Settings.Default.CtesMCPProd / 100)); double ctesDistPerm = Math.Round((creditosCA - dist2Credito) * clientesDP2C); double ctesMMPerm = Math.Round((creditosCA - dist2Credito) * clientesMMP2C); double ctesCZPerm = Math.Round((creditosCA - dist2Credito) * clientesZafyP2C); double ctesMCPerm = Math.Round((creditosCA - dist2Credito) * clientesMCP2C); Properties.Settings.Default.CtesDistPProd = (ctesDist / (creditosCN - dist)) * 100; Properties.Settings.Default.CtesMMPProd = (ctesMM / (creditosCN - dist)) * 100; Properties.Settings.Default.CtesCZPProd = (ctesCZ / (creditosCN - dist)) * 100; Properties.Settings.Default.CtesMCPProd = (ctesMC / (creditosCN - dist)) * 100; Properties.Settings.Default.CtesDistPPerm = (ctesDistPerm / (creditosCA - dist2Credito)) * 100; Properties.Settings.Default.CtesMMPPerm = (ctesMMPerm / (creditosCA - dist2Credito)) * 100; Properties.Settings.Default.CtesCZPPerm = (ctesCZPerm / (creditosCA - dist2Credito)) * 100; Properties.Settings.Default.CtesMCPPerm = (ctesMCPerm / (creditosCA - dist2Credito)) * 100; Properties.Settings.Default.ClientesDistP = ((ctesDist + ctesDistPerm + ctesDistAnt) / ((ctesTotales + (carteraTotal - clientes2Credito)) - distribuidoras)) * 100; Properties.Settings.Default.ClientesMMP = ((ctesMM + ctesMMPerm + ctesMMAnt) / ((ctesTotales + (carteraTotal - clientes2Credito)) - distribuidoras)) * 100; Properties.Settings.Default.ClientesZafyP = ((ctesCZ + ctesCZPerm + ctesCZAnt) / ((ctesTotales + (carteraTotal - clientes2Credito)) - distribuidoras)) * 100; Properties.Settings.Default.ClientesMCP = ((ctesMC + ctesMCPerm + ctesMCAnt) / ((ctesTotales + (carteraTotal - clientes2Credito)) - distribuidoras)) * 100; } //Guarda las proporciones de los clientes para el período //Clientes Distribuidoras configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesDP"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesDistPProd; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Medios Masivos configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesMMP"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesMMPProd; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Zafy configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesZP"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesCZPProd; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Miembros de Célula configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesMC"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesMCPProd; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Distribuidoras de permanencia configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesDPPerm"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesDistPPerm; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Medios Masivos de permanencia configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesMMPPerm"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesMMPPerm; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Zafy de permanencia configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesZPPerm"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesCZPPerm; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); //Clientes Miembros de Célula de permanencia configId++; tConfiguracionesRow = flujoDBDataSet1.T_Configuraciones.NewT_ConfiguracionesRow(); tConfiguracionesRow["Id"] = configId; tConfiguracionesRow["SesionId"] = Properties.Settings.Default.SessionId.ToString().Trim(); tConfiguracionesRow["Campo"] = "CtesMCPerm"; tConfiguracionesRow["Valor"] = Properties.Settings.Default.CtesMCPPerm; tConfiguracionesRow["TipoDato"] = "P" + (Properties.Settings.Default.PeriodoActual > 0 ? Properties.Settings.Default.PeriodoActual.ToString().PadLeft(3, '0') : "000") + "C"; tConfiguracionesRow["Estatus"] = "1"; flujoDBDataSet1.T_Configuraciones.AddT_ConfiguracionesRow(tConfiguracionesRow); Properties.Settings.Default.Save(); t_ConfiguracionesTableAdapter1.ClearBeforeFill = true; this.SaveFinalConfig(); } //Fin de colocación this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Colocación no guardada"); } }