public static EGUID Create(this EGUID eguid, IBaseModel model, TableDefinitionAttribute tableDefinition, IEmpresa empresa = null) { #if !IsPAF //------------------------------------------------------------------------- // Se o EGUID já foi informado, descartar as condições abaixo. // Isso pode dar erros nas importações se for modificado. // Pode dar erros nas integrações entre DAV/PV // Pode dar erros em todos os lugares que usam a condição EGUID = ?? // Modifique a condição abaixo apenas se souber o que está fazendo //------------------------------------------------------------------------- // if(!eguid.IsNullOrEmpty()) // return eguid; #endif EGUID result = EGUID.Empty; string tableName = tableDefinition.TableName; if (model is Model.Faturamento.Lancamento.Movimento.NFCe.INFCe && eguid.IsNullOrEmpty()) tableName = "fat_LanMovNFCe"; else if (model is Model.Faturamento.Lancamento.Movimento.NFe.INFe && eguid.IsNullOrEmpty()) tableName = "fat_LanMovNFe"; IConfiguracaoEGUID conf = new ConfiguracaoEGUID(tableName); switch(conf.UsoEGUID) { case Enuns.Configuracao.UsoEGUID.Custom: if(conf.Code.StartsWith("code={", StringComparison.CurrentCultureIgnoreCase)) { string s = conf.Code.Substring(6); s = "public object GetEGUID(object value){" + s.Substring(0, s.Length - 1) + "}"; Assembly assembly = Compiler.Compiler.Compile(Code.Builder.Build("OpenPOS", "OpenPOSEGUIDConfiguracao", s)); result = Compiler.Compiler.Invoke("OpenPOS.OpenPOSEGUIDConfiguracao", "GetEGUID", assembly, new object[] { eguid }).ToString(); } break; case Enuns.Configuracao.UsoEGUID.PorEmpresa: //TODO: Aqui temos que melhorar, pois temos que filtrar pela empresa atual, e // Se não encontrada deve-se criar um para a empresa atual. conf.Numero += 1; result = conf.Numero.ToString(); break; case Enuns.Configuracao.UsoEGUID.PorTabela: conf.Numero += 1; result = conf.Numero.ToString(); break; case Enuns.Configuracao.UsoEGUID.Default: default: result = eguid.IsNullOrEmpty() ? new Random().Next().ToString() : Convert.ToString(eguid); break; } if(!String.IsNullOrEmpty(conf.Mascara)) result = conf.Numero.ToString(conf.Mascara); conf.Save(); return result; }
public override void Gravar() { IConfiguracaoEGUID config = new ConfiguracaoEGUID(); config.Code = ""; config.Mascara = "D10"; config.Tabela = "fat_LanMovPV2"; config.UsoEGUID = Enuns.Configuracao.UsoEGUID.PorTabela; GUID = config.Save(); }
public override void Popular() { IConfiguracaoEGUID config = new ConfiguracaoEGUID("cfg_NumeroEGUID"); DumpElement(config); }
public override void Editar() { IConfiguracaoEGUID config = new ConfiguracaoEGUID(GUID); config.Tabela = "fat_LanMovPV"; config.Save(); }