public virtual bool CalculaSemProporcional(ClienteServicosBE obj) { try { ClienteNotaBE nota = new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, obj.servCli_valor, null, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome); var ins = new ClienteNotaBLL().Insert(nota); return(true); } catch (Exception ex) { Common.TratarLogErro(ex); return(false); } }
public virtual bool CalcularParcelas(ClienteServicosBE obj) { if (obj.servCli_parcelado) { if (obj.servCli_parceladoQtd > 1) { var parcelas = Decimal.Round(obj.servCli_valor / obj.servCli_parceladoQtd, 3); var primeiraparcela = parcelas; var _string = parcelas.ToString(); var _array = _string.Split(','); if (_array.Length > 1 && _array[1].Length > 2) { var _ultimocampos = Convert.ToInt32(_string.Substring(_string.Length - 1)); if (_ultimocampos > 0) { parcelas = Convert.ToDecimal(_string.Substring(0, _string.Length - 1)); primeiraparcela = parcelas + (obj.servCli_valor - (parcelas * obj.servCli_parceladoQtd)); } } var cliNota = new ClienteNotaBLL(); ClienteNotaBE valorParcelas = new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, primeiraparcela, null, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome); for (int i = 0; i < obj.servCli_parceladoQtd; i++) { if (i > 0) { valorParcelas.cliNot_valor = parcelas; } valorParcelas.cliNot_parcela = i + 1; valorParcelas.cliNot_descricao = obj.servCli_descricao + " " + (i + 1) + " / " + obj.servCli_parceladoQtd; valorParcelas.cliNot_id = 0; cliNota.Insert(valorParcelas); } } else { new ClienteNotaBLL().Insert(new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, obj.servCli_valor, 1, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome)); } } else { new ClienteNotaBLL().Insert(new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, obj.servCli_valor, 1, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome)); } return(true); }
public virtual bool CalculaProporcionalMesAtual(ClienteServicosBE obj) { try { int dias = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); decimal valor = (obj.servCli_valor / dias) * obj.servCli_qtdDias; valor = Decimal.Round(valor, 2); ClienteNotaBE notaAtual = new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, valor, null, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome); var ins = new ClienteNotaBLL().Insert(notaAtual); return(true); } catch (Exception ex) { Common.TratarLogErro(ex); return(false); } }
public ClienteServicosBE Insert(ClienteServicosBE obj, int conf_id) { var _serv = new ClienteServicosDao(); obj.servCli_id = _serv.Insert(obj); obj = _serv.SelectId <ClienteServicosBE>(new ClienteServicosBE { servCli_id = obj.servCli_id, log_ativo = true }); var servico = new ServicosBLL().SelectId(new ServicosBE { serv_id = obj.serv_id, conf_id = conf_id }); if (servico != null && servico.serv_parcelado == false) { this.CalcularProporcional(obj); } else { this.CalcularParcelas(obj); } return(obj); }
/// <summary> /// Carrega a lsta de serviços agrupada por contrato /// </summary> /// <param name="obj"></param> /// <returns></returns> public List <ClienteServicosContratoBE> SelectContratoServicos(ClienteServicosBE obj) { var servicos = new ClienteServicosDao().Select <ClienteServicosBE>(obj).ToList(); if (servicos.Count == 0) { return(new List <ClienteServicosContratoBE>()); } else { servicos = servicos.OrderBy(x => x.servCli_contrato).ToList(); var retorno = new List <ClienteServicosContratoBE>(); foreach (var item in servicos) { if ((from x in retorno where x.Contrato.Equals(item.servCli_contrato) select x).Count() == 0) { var novocontrato = new ClienteServicosContratoBE { Contrato = item.servCli_contrato, NomeContrato = item.servCli_contratonome, DataCriacao = item.servCli_data, ServicosContrato = new List <ClienteServicosBE>() }; novocontrato.ServicosContrato.Add(item); retorno.Add(novocontrato); } else { for (int i = 0; i < retorno.Count; i++) { if (retorno[i].Contrato.Equals(item.servCli_contrato)) { retorno[i].ServicosContrato.Add(item); break; } } } } return(retorno); } }
public virtual bool CalculaProporcionalMesAnterior(ClienteServicosBE obj) { try { int mes = DateTime.Now.Month == 1 ? 12: DateTime.Now.Month - 1; int dias = DateTime.Now.Month == 1 ? dias = DateTime.DaysInMonth((DateTime.Now.Year - 1), mes) : DateTime.DaysInMonth((DateTime.Now.Year), mes); decimal valor = (obj.servCli_valor / dias) * obj.servCli_qtdDias; valor = Decimal.Round(valor, 2); ClienteNotaBE notaAnterior = new ClienteNotaBE(obj.cli_id, obj.servCli_descricao + " Valor Proporional ao Mês " + Common.GetNameMonth(mes), valor, null, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome); ClienteNotaBE notaAtual = new ClienteNotaBE(obj.cli_id, obj.servCli_descricao, obj.servCli_valor, null, false, true, obj.serv_id, obj.servCli_contrato, obj.servCli_contratonome); var ins = new ClienteNotaBLL().Insert(notaAnterior); var ins2 = new ClienteNotaBLL().Insert(notaAtual); return(true); } catch (Exception ex) { Common.TratarLogErro(ex); return(false); } }
public virtual bool CalcularProporcional(ClienteServicosBE obj) { bool result = false; switch (obj.servCli_cobrarPorpor) { case 1: result = this.CalculaSemProporcional(obj); break; case 2: result = this.CalculaProporcionalMesAnterior(obj); break; case 3: result = this.CalculaProporcionalMesAtual(obj); break; default: result = this.CalculaSemProporcional(obj); break; } return(result); }
public bool Delete(ClienteServicosBE obj) { return(new ClienteServicosDao().Delete(new { servCli_id = obj.servCli_id, cli_id = obj.cli_id }).Value); }
public bool Update(ClienteServicosBE obj) { return(new ClienteServicosDao().Update(obj).Value); }
public ClienteServicosBE SelectId(ClienteServicosBE obj) { return(new ClienteServicosDao().SelectId <ClienteServicosBE>(obj)); }
public List <ClienteServicosBE> Select(ClienteServicosBE obj) { return(new ClienteServicosDao().Select <ClienteServicosBE>(obj).ToList()); }