public JsonResult ValidateNumeration([FromBody] ContactViewModel item) { //Get Project Numeration Configuração conf = DBConfigurations.GetById(1); if (conf != null) { int contactsNumerationConfId = conf.NumeraçãoContactos.Value; ConfiguraçãoNumerações numConf = DBNumerationConfigurations.GetById(contactsNumerationConfId); //Validate if id is valid if (!(item.No == "" || item.No == null) && !numConf.Manual.Value) { return(Json("A numeração configurada para contactos não permite inserção manual.")); } else if (item.No == "" && !numConf.Automático.Value) { return(Json("É obrigatório inserir o Nº de Contacto.")); } } else { return(Json("Não foi possivel obter as configurações base de numeração.")); } return(Json("")); }
public JsonResult ValidateNumeration([FromBody] SimplifiedReqTemplateViewModel item) { //Get Project Numeration Configuração conf = DBConfigurations.GetById(1); if (conf != null) { int numModReqSimplificadas = conf.NumeraçãoModReqSimplificadas.Value; ConfiguraçãoNumerações numConf = DBNumerationConfigurations.GetById(numModReqSimplificadas); //Validate if id is valid if (!(item.RequisitionTemplateId == "" || item.RequisitionTemplateId == null) && !numConf.Manual.Value) { return(Json("A numeração configurada para os modelos de requisição simplificada não permite inserção manual.")); } else if (item.RequisitionTemplateId == "" && !numConf.Automático.Value) { return(Json("É obrigatório inserir o Nº Modelo.")); } } else { return(Json("Não foi possivel obter as configurações base de numeração.")); } return(Json("")); }
public BillingReceptionModel Create(BillingReceptionModel item) { bool autoGenId = false; bool isRec = true; int Cfg = (int)DBUserConfigurations.GetById(item.CriadoPor).PerfilNumeraçãoRecDocCompras; item.DataCriacao = DateTime.Now; item.IdAreaPendente = (int)BillingReceptionAreas.Contabilidade; item.AreaPendente = BillingReceptionAreas.Contabilidade.ToString(); item.Estado = BillingReceptionStates.Rececao; item.DataCriacao = DateTime.Now; item.DescricaoProblema = "Entrada fatura em receção"; if (item.Id == "" || item.Id == null) { ConfiguraçãoNumerações CfgNumeration = DBNumerationConfigurations.GetById(Cfg); autoGenId = true; item.Id = DBNumerationConfigurations.GetNextNumeration(Cfg, autoGenId, isRec); } if (item.Id != "" && item.Id != null) { item = repo.Create(item); RececaoFaturacaoWorkflow wfItem = new RececaoFaturacaoWorkflow(); wfItem.IdRecFaturacao = item.Id; wfItem.AreaWorkflow = Data.EnumHelper.GetDescriptionFor(typeof(BillingReceptionAreas), (int)BillingReceptionAreas.Contabilidade); wfItem.Descricao = "Entrada fatura em receção"; wfItem.CriadoPor = item.CriadoPor; wfItem.Data = DateTime.Now; wfItem.DataCriacao = DateTime.Now; wfItem.Estado = (int)BillingReceptionStates.Rececao;//TODO: Identificar estados possivels “Receção/Conferência” repo.Create(wfItem); try { repo.SaveChanges(); //Update Last Numeration Used ConfiguraçãoNumerações ConfigNumerations = DBNumerationConfigurations.GetById(Cfg); ConfigNumerations.ÚltimoNºUsado = wfItem.IdRecFaturacao; ConfigNumerations.UtilizadorModificação = item.CriadoPor; DBNumerationConfigurations.Update(ConfigNumerations); } catch (Exception ex) { return(null); } return(item); } else { return(item); } }
public JsonResult CreateRecordTechnicalOfPlates([FromBody] RecordTechnicalOfPlatesModelView data) { if (data != null) { //Get Numeration bool autoGenId = false; Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoFichasTécnicasDePratos.Value; if (data.PlateNo == "" || data.PlateNo == null) { autoGenId = true; data.PlateNo = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, autoGenId, false); } if (data.PlateNo != null) { data.CreateUser = User.Identity.Name; var createdItem = DBRecordTechnicalOfPlates.Create(data.ParseToDB()); if (createdItem != null) { data = createdItem.ParseToViewModel(); //Update Last Numeration Used if (autoGenId) { ConfiguraçãoNumerações ConfigNumerations = DBNumerationConfigurations.GetById(entityNumerationConfId); ConfigNumerations.ÚltimoNºUsado = data.PlateNo; ConfigNumerations.UtilizadorModificação = User.Identity.Name; DBNumerationConfigurations.Update(ConfigNumerations); } data.eReasonCode = 1; data.eMessage = "Registo criado com sucesso."; } else { data = new RecordTechnicalOfPlatesModelView(); data.eReasonCode = 2; data.eMessage = "Ocorreu um erro ao editar o registo."; } } else { data.eReasonCode = 2; data.eMessage = "A numeração configurada não é compativel com a inserida."; } } else { data = new RecordTechnicalOfPlatesModelView(); data.eReasonCode = 2; data.eMessage = "Ocorreu um erro: a linha não pode ser nula."; } return(Json(data)); }
public static void NumerationTest() { string numeration = DBNumerationConfigurations.GetNextNumeration(1, true, false); string numeration2 = DBNumerationConfigurations.GetNextNumeration(2, true, false); string numeration3 = DBNumerationConfigurations.GetNextNumeration(3, true, false); //Console.WriteLine(numeration); //Console.WriteLine(numeration2); //Console.WriteLine(numeration3); Console.ReadLine(); }
public JsonResult CreateReqTemplate([FromBody] SimplifiedReqTemplateViewModel item) { try { if (item != null) { //Get Numeration bool autoGenId = false; Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoModReqSimplificadas.Value; if (item.RequisitionTemplateId == "" || item.RequisitionTemplateId == null) { autoGenId = true; item.RequisitionTemplateId = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, autoGenId, false); } if (item.RequisitionTemplateId != null) { item.CreateUser = User.Identity.Name; var createdItem = DBSimplifiedReqTemplates.Create(item.ParseToDB()); if (createdItem != null) { item = createdItem.ParseToViewModel(); if (autoGenId) { ConfiguraçãoNumerações configNum = DBNumerationConfigurations.GetById(entityNumerationConfId); configNum.ÚltimoNºUsado = item.RequisitionTemplateId; configNum.UtilizadorModificação = User.Identity.Name; DBNumerationConfigurations.Update(configNum); } item.eReasonCode = 1; item.eMessage = "Registo criado com sucesso."; } else { item.eReasonCode = 3; item.eMessage = "Ocorreu um erro ao inserir os dados na base de dados."; } } else { item.eReasonCode = 5; item.eMessage = "A numeração configurada não é compativel com a inserida."; } } } catch (Exception) { item.eReasonCode = 2; item.eMessage = "Ocorreu um erro ao criar o modelo de requisição simplificado."; } return(Json(item)); }
public JsonResult CreateRequisition([FromBody] RequisitionTemplateViewModel item) { if (item != null) { //Get Numeration bool autoGenId = false; Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeracaoModelosRequisicao.Value; if (item.RequisitionNo == "" || item.RequisitionNo == null) { autoGenId = true; item.RequisitionNo = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, autoGenId, false); } if (item.RequisitionNo != null) { item.CreateUser = User.Identity.Name; var createdItem = DBRequestTemplates.Create(item.ParseToDB()); if (createdItem != null) { item = createdItem.ParseToTemplateViewModel(); if (autoGenId) { ConfiguraçãoNumerações configNum = DBNumerationConfigurations.GetById(entityNumerationConfId); configNum.ÚltimoNºUsado = item.RequisitionNo; configNum.UtilizadorModificação = User.Identity.Name; DBNumerationConfigurations.Update(configNum); } item.eReasonCode = 1; item.eMessage = "Registo criado com sucesso."; } else { item = new RequisitionTemplateViewModel(); item.eReasonCode = 2; item.eMessage = "Ocorreu um erro ao criar o registo."; } } else { item.eReasonCode = 5; item.eMessage = "A numeração configurada não é compativel com a inserida."; } } else { item = new RequisitionTemplateViewModel(); item.eReasonCode = 2; item.eMessage = "Ocorreu um erro: o modelo de requisição não pode ser nulo."; } return(Json(item)); }
public JsonResult ValidateNumeration([FromBody] SimplifiedRequisitionViewModel data) { //Get Project Numeration Configuração Cfg = DBConfigurations.GetById(1); int ProjectNumerationConfigurationId = 0; ProjectNumerationConfigurationId = Cfg.NumeraçãoRequisiçõesSimplificada.Value; ConfiguraçãoNumerações CfgNumeration = DBNumerationConfigurations.GetById(ProjectNumerationConfigurationId); //Validate if ProjectNo is valid if (!CfgNumeration.Automático.Value) { return(Json("É obrigatório inserir o Nº Requisição.")); } return(Json("")); }
public JsonResult CreateSimplifiedRequisition([FromBody] SimplifiedRequisitionViewModel item) { if (item != null) { item.CreateUser = User.Identity.Name; item.CreateResponsible = User.Identity.Name; item.RequisitionDate = DateTime.Now.ToString(); item.RegistrationDate = DateTime.Now.ToString("dd/MM/yyyy"); item.RequisitionTime = DateTime.Now.ToString("HH:mm:ss"); if (DBSimplifiedRequisitions.GetById(item.RequisitionNo) != null) { item.eReasonCode = 101; item.eMessage = "O Nº " + item.RequisitionNo + " já existe!"; } else { if (DBSimplifiedRequisitions.Create(DBSimplifiedRequisitions.ParseToDatabase(item)) != null) { //Update Last Numeration Used Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoRequisiçõesSimplificada.Value; ConfiguraçãoNumerações ConfigNumerations = DBNumerationConfigurations.GetById(entityNumerationConfId); ConfigNumerations.ÚltimoNºUsado = item.RequisitionNo; ConfigNumerations.UtilizadorModificação = User.Identity.Name; DBNumerationConfigurations.Update(ConfigNumerations); item.eReasonCode = 100; item.eMessage = "Requisição Simplificada criada com sucesso."; } else { item.eReasonCode = 101; item.eMessage = "Ocorreu um erro ao criar a Requisição Simplificada."; } } } return(Json(item)); }
public JsonResult GetSimplifiedRequisitionData([FromBody] SimplifiedRequisitionViewModel item) { ConfigUtilizadores utilizador = DBUserConfigurations.GetById(User.Identity.Name); SimplifiedRequisitionViewModel result = new SimplifiedRequisitionViewModel(); result.Status = 1; result.EmployeeNo = utilizador.EmployeeNo; if (item != null && !string.IsNullOrEmpty(item.RequisitionNo)) { result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetById(item.RequisitionNo)); } else { //Get Numeration string entityId = ""; bool autoGenId = false; Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoRequisiçõesSimplificada.Value; autoGenId = true; entityId = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, autoGenId, false); result.RequisitionNo = entityId; } return(Json(result)); }
public ErrorHandler CreateProposalFromContract(string contractId, int version, decimal percentageToApllyInLines = decimal.MinValue) { ErrorHandler result = new ErrorHandler() { eReasonCode = 2, eMessage = "Não foi possivel criar a proposta", }; //Get contract data var contractDb = DBContracts.GetByIdAndVersion(contractId, version); ContractViewModel contract = DBContracts.ParseToViewModel(contractDb, string.Empty, string.Empty); contract.LoadLines(); //Get Numeration Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoPropostas.Value; string proposalId = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, true, false); if (!string.IsNullOrEmpty(proposalId) && contract != null) { contract.ContractNo = proposalId; contract.ContractType = (int)ContractType.Proposal; contract.VersionNo = 1; contract.Status = 1; contract.RelatedContract = contractId; contract.CreateDate = DateTime.Now.ToString(); contract.CreateUser = changedByUserName; contract.UpdateDate = string.Empty; contract.UpdateUser = string.Empty; //Add Proposal Header var proposal = ctx.Contratos.Add(DBContracts.ParseToDB(contract)); //Add Proposal Lines contract.Lines.ForEach(x => { x.ContractType = (int)ContractType.Proposal; x.ContractNo = proposalId; x.VersionNo = 1; x.LineNo = 0; if (percentageToApllyInLines > (-100)) { x.UnitPrice = x.UnitPrice + ((percentageToApllyInLines * x.UnitPrice) / 100); proposal.Entity.LinhasContratos.Add(DBContractLines.ParseToDB(x)); } else { proposal.Entity.LinhasContratos.Add(DBContractLines.ParseToDB(x)); } }); ctx.SaveChanges(); result.eReasonCode = 1; result.eMessage = "Foi criada a proposta " + proposalId + "."; try { //Update Last Numeration Used ConfiguraçãoNumerações configNumerations = DBNumerationConfigurations.GetById(entityNumerationConfId); if (configNumerations != null) { configNumerations.ÚltimoNºUsado = proposalId; configNumerations.UtilizadorModificação = changedByUserName; DBNumerationConfigurations.Update(configNumerations); } } catch { result.eMessage += " Ocorreu um erro ao atualizar a numeração."; } } return(result); }
public JsonResult CreateContact([FromBody] ContactViewModel item) { if (item != null) { //Get Numeration bool autoGenId = false; Configuração conf = DBConfigurations.GetById(1); int entityNumerationConfId = conf.NumeraçãoContactos.Value; if (item.No == "" || item.No == null) { autoGenId = true; item.No = DBNumerationConfigurations.GetNextNumeration(entityNumerationConfId, autoGenId, false); } if (item.No != null) { //Ensure contact Id doesn't exist var existingContact = DBContacts.GetById(item.No); if (existingContact == null) { item.CriadoPor = User.Identity.Name; var newItem = DBContacts.Create(item.ParseToDB()).ParseToViewModel(); if (newItem != null) { //Inserted, update item to return item = newItem; //Task<WSContacts.Create_Result> createContactTask = NAVContactsService.CreateAsync(item, _configws); //try //{ // createContactTask.Wait(); //} //catch (Exception ex) //{ // item.eReasonCode = 3; // item.eMessage = "Ocorreu um erro ao criar o contacto no NAV."; // item.eMessages.Add(new TraceInformation(TraceType.Error, ex.Message)); //} //if (!createContactTask.IsCompletedSuccessfully) //{ // //Delete Created Project on Database // DBContacts.Delete(item.No); // item.eReasonCode = 3; // item.eMessage = "Ocorreu um erro ao criar o contacto no NAV."; //} //else //{ //Update Last Numeration Used ConfiguraçãoNumerações configNumerations = DBNumerationConfigurations.GetById(entityNumerationConfId); if (configNumerations != null && autoGenId) { configNumerations.ÚltimoNºUsado = item.No; configNumerations.UtilizadorModificação = User.Identity.Name; DBNumerationConfigurations.Update(configNumerations); } item.eReasonCode = 1; item.eMessage = "Contacto criado com sucesso."; //} } else { item.eReasonCode = 3; item.eMessage = "Ocorreu um erro ao criar o contacto no portal."; } } else { item.eReasonCode = 4; item.eMessage = "Já existe um contacto com o Nº " + item.No; } } else { item.eReasonCode = 5; item.eMessage = "A numeração configurada não é compativel com a inserida."; } } return(Json(item)); }