//Percorre a coleção calculando juros de atraso public void SumJuroDuplicata() { JUROSDUPLICATASEntity JUROSDUPLICATASty = new JUROSDUPLICATASEntity(); JUROSDUPLICATASProvider JUROSDUPLICATASP = new JUROSDUPLICATASProvider(); JUROSDUPLICATASty = JUROSDUPLICATASP.Read(1);//1 Contas a Pagar foreach (LIS_DUPLICATAPAGAREntity item in LIS_DUPLICATAPAGARColl) { //Somente calcula juros de duplicatas que não foram atualizada no dia // e vencidas //string DataAtual = DateTime.Now.ToString("dd/MM/yyyy"); //string DataAtDupl = Convert.ToDateTime(item.DATAATJUROS).ToString("dd/MM/yyyy"); //if (item.DATAVECTO < DateTime.Now && Convert.ToDateTime(DataAtDupl) < Convert.ToDateTime(DataAtual) // && item.IDSTATUS != 3) if (item.DATAVECTO < Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")) && item.IDSTATUS != 3) { //Calculo de dias de vencimento TimeSpan date = Convert.ToDateTime(DateTime.Now) - Convert.ToDateTime(item.DATAVECTO); int DIASATRASO = date.Days; if (DIASATRASO > 0) { item.DIASATRASO = DIASATRASO; } else { item.DIASATRASO = 0; } item.DATAATJUROS = DateTime.Now; if (JUROSDUPLICATASty.FLAGCALCULAR == "S") { //Calculo o juros de atraso decimal PorcJuros = Convert.ToDecimal(JUROSDUPLICATASty.JUROSDIA * item.DIASATRASO); PorcJuros = PorcJuros / 100; if (item.IDSTATUS != 4) //4 Parcial { item.VALORJUROS = item.VALORDUPLICATA * PorcJuros; } else { item.VALORJUROS = item.VALORDEVEDOR * PorcJuros; } if (item.IDSTATUS != 4) //4 Parcial { item.VALORDEVEDOR = item.VALORJUROS + JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS + item.VALORDUPLICATA; } else { item.VALORDEVEDOR = item.VALORJUROS + JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS + item.VALORDEVEDOR; } item.VALORMULTA = JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS; } //Salvando no banco DUPLICATAPAGAREntity DUPLICATAPAGAR_Sav_Ty = new DUPLICATAPAGAREntity(); DUPLICATAPAGAR_Sav_Ty = DUPLICATAPAGARP.Read(Convert.ToInt32(item.IDDUPLICATAPAGAR)); if (DIASATRASO > 0 && DUPLICATAPAGAR_Sav_Ty.IDSTATUS != 4) // 4 Parcial { DUPLICATAPAGAR_Sav_Ty.IDSTATUS = 2; //Vencida } DUPLICATAPAGAR_Sav_Ty.VALORJUROS = item.VALORJUROS; DUPLICATAPAGAR_Sav_Ty.VALORDEVEDOR = item.VALORDEVEDOR; DUPLICATAPAGAR_Sav_Ty.VALORMULTA = item.VALORMULTA; DUPLICATAPAGAR_Sav_Ty.DIASATRASO = item.DIASATRASO; DUPLICATAPAGAR_Sav_Ty.DATAATJUROS = item.DATAATJUROS; DUPLICATAPAGARP.Save(DUPLICATAPAGAR_Sav_Ty); } } }
private void FrmJurosContasPagar_Load(object sender, EventArgs e) { this.MinimizeBox = false; this.FormBorderStyle = FormBorderStyle.FixedDialog; //2 Juros de Contas a receber Entity = JUROSDUPLICATASP.Read(2); }