private void Pesquisar(string Texto) { if (Convert.ToDateTime(DataInicio) < Convert.ToDateTime(DataFim)) { try { NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat; Lista = VedasDB.GetAllVenda().Where(x => x.DataVendav > Convert.ToDateTime(DataInicio) && x.DataVendav < Convert.ToDateTime(DataFim).AddDays(1)).ToList(); V_Investido = Lista.Select(x => x.PrecoCusto).Sum().ToString(); V_Lucro = Lista.Select(x => x.LucroVenda).Sum().ToString(); V_Margem = (((double.Parse(V_Lucro) * 100) / double.Parse(V_Investido))).ToString("F", nfi); Vendas = Lista; } catch (Exception) { App.Current.MainPage.DisplayAlert("Aviso", " Não há vendas entre essa data ou ocorreu algum erro!", "Ok"); } } else { Vendas = new List <Venda>(); } }
private void EntreDatas(string value) { if (Convert.ToDateTime(DataInicio) < Convert.ToDateTime(DataFim)) { try { Lista = VedasDB.GetAllVenda().Where(x => x.DataVendav > Convert.ToDateTime(DataInicio) && x.DataVendav < Convert.ToDateTime(DataFim).AddDays(1)).ToList(); Vendas = Lista; } catch (Exception) { App.Current.MainPage.DisplayAlert("Aviso", " Não há vendas entre essa data ou ocorreu algum erro!", "Ok"); } } }
public VendasViewModel() { string Configu = ""; DateTime date = DateTime.Today; GoChatCommand = new Command(GoChat); GoEstoqueCommand = new Command(GoEstoque); PesquisarCommand = new Command <string>(Pesquisar); var mes = date.Month; try { //Configura pagina inicial do app Configu = ConfiguracaoDB.GetAllConfigApp().FirstOrDefault().PaginaInicial; } catch (Exception) { } if (string.IsNullOrEmpty(Configu)) { try { //Lista todas venda realizadas entre uma periodo configurado no banco de dados Lista = VedasDB.GetAllVenda().Where(x => x.DataVendav.Month == mes).ToList(); //Mostra a data na tela DataInicio = new DateTime(date.Year, date.Month, 01); //string.Format("{0}/{1}/{2}", 01, date.Month, date.Year); // new DateTime(date.Year, date.Month, 1).ToString(); int d = DateTime.DaysInMonth(date.Year, date.Month); DataFim = new DateTime(date.Year, date.Month, d); //string.Format("{0}/{1}/{2}", d, date.Month, date.Year); //new DateTime(DateTime.DaysInMonth(date.Year, date.Month), date.Year, date.Month).ToString(); } catch (Exception) { //Evita uma exception em caso de nao haver nada no banco de dados Lista = new List <Venda>() { }; } } else { //Pega a configuração desejada pelo usuario var confg = ConfiguracaoDB.GetAllConfigApp().LastOrDefault(); try { int inicio = 1; int fim = 1; DateTime abreMes; DateTime fechamento; try { inicio = confg.DataFechamento.Day; abreMes = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, inicio); } catch (Exception) { inicio = DateTime.DaysInMonth(date.Year, date.Month - 1); abreMes = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, inicio); } try { fim = confg.DataFechamento.Day; fechamento = new DateTime(DateTime.Now.Year, DateTime.Now.Month, fim); } catch (Exception) { fim = DateTime.DaysInMonth(date.Year, date.Month); fechamento = new DateTime(DateTime.Now.Year, DateTime.Now.Month, fim); } Lista = VedasDB.GetAllVenda().Where(x => x.DataVendav >= abreMes && x.DataVendav <= fechamento).ToList(); //Mostra a data na tela DataInicio = new DateTime(date.Year, date.Month - 1, inicio); //string.Format("{0}/{1}/{2}", 01, date.Month, date.Year); // new DateTime(date.Year, date.Month, 1).ToString(); //int d = DateTime.DaysInMonth(date.Year, date.Month); DataFim = new DateTime(date.Year, date.Month, fim); //string.Format("{0}/{1}/{2}", d, date.Month, date.Year); //new DateTime(DateTime.DaysInMonth(date.Year, date.Month), date.Year, date.Month).ToString(); } catch (Exception) { if (confg.DataFechamento.Day >= 29 && confg.DataFechamento.Day >= 31) { var fechamento = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); var abreMes = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1); Lista = VedasDB.GetAllVenda().Where(x => x.DataVendav >= abreMes && x.DataVendav <= fechamento).ToList(); } } } //formata numeros NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat; Vendas = Lista; V_Investido = Lista.Select(x => x.PrecoCusto).Sum().ToString(); V_Lucro = Lista.Select(x => x.LucroVenda).Sum().ToString(); V_Margem = (((double.Parse(V_Lucro) * 100) / double.Parse(V_Investido))).ToString("F", nfi); }