public override void Gravar() { PDV t = new PDV(); t.Nome = new Random().NextString(); t.Observacao = "Observação do PDV de teste"; t.NumeroCaixa = "1"; GUID = t.Save(); }
/// <summary> /// Cria um novo PDV com base nas informações coletadas da máquina. /// </summary> /// <param name="ask">Se true, confirma com o usuário antes de criar o PDV</param> /// <param name="raiseError">Se true, em caso de erro, será retornado ao objeto chamador</param> /// <returns>Retorna um novo PDV com base nas informações coletadas da máquina</returns> /// <example> /// <code>IPDV pdv = Create(true);</code> /// </example> public static IPDV Create(bool ask = true, bool raiseError = true) { IPDV result = null; //verificar se existe um PDV com este nome IList<IPDV> pdvs = new PDV().Find<IPDV>(new Where { {"Nome = @p1", new Parameter{ ParameterName = "@p1", Value = Settings.MachineName }} }); if(pdvs.Count > 0) result = pdvs[0]; else { if(ask && MessageBox.AskYesNo("Não existe PDV cadastrado para este terminal. Deseja cadastrar?") == DialogResult.No) { if(raiseError) throw new TerminalSemPDV(); else return null; } } if(result.IsNullOrEmpty()) { result = new PDV(); result.Nome = Settings.MachineName; result.Observacao = Settings.MachineName; result.Ativo = true; result.Save(); } return result; }
public override void Editar() { PDV t = new PDV(GUID); t.Save(); }
/// <summary> /// Faz a abertura do caixa /// </summary> /// <param name="sender">Obejto que disparou o evento</param> /// <param name="e">Argumento do evento gerado</param> private void btnOK_Click(object sender, System.EventArgs e) { dataHoraAbertura = Unimake.Convert.ToDateTime(string.Format("{0} {1}", dtpDataAbertura.Text, dtpHoraAbertura.Text)); IAbreCaixa abreCx = null; try { //sfCaixa.SelectedItem.GUID abreCx = new AbreCaixa().PermiteAbrir(Settings.MachineName, DateTime.Now); if (abreCx == null) { abreCx = new AbreCaixa(); IList<Model.IBaseModel> caixas = new Caixa().Find(new Where() { { "cad_PDV.Nome", Settings.MachineName } }); if (caixas.Count > 0) abreCx.Caixa = caixas[0] as ICaixa; else { ICaixa c = new Caixa(); c.PDV = new PDV().Find(new Where() { { "cad_PDV.Nome", Settings.MachineName } })[0] as PDV; c.Descricao = Settings.MachineName; c.Save(); abreCx.Caixa = c; } abreCx.Usuario = new Usuario(Settings.UsuarioAtual.GUID); abreCx.DataHoraAbertura = dataHoraAbertura; abreCx.Save(); Settings.PDV.AberturaCaixa = abreCx; MessageBox.ShowWarning("Caixa aberto com sucesso."); this.ClearControls(); StatusCaixa = abreCx.Status.ToString(); } else MessageBox.ShowWarning("Não é permitido abrir o caixa, pois se encontra: " + abreCx.Status.ToString()); } catch(PDVObrigatorio) { if(MessageBox.Show("Não existe PDV cadastrado para este terminal. Deseja cadastrar?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { PDV pdv = new PDV(); pdv.Nome = Settings.MachineName; pdv.Observacao = Settings.MachineName; pdv.Save(); } } catch(Exception ex) { MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }