Пример #1
0
 public FornecedoresController(IOptions <NAVConfigurations> appSettings, IOptions <NAVWSConfigurations> NAVWSConfigs, IOptions <GeneralConfigurations> appSettingsGeneral, IHostingEnvironment _hostingEnvironment)
 {
     _config                  = appSettings.Value;
     _configws                = NAVWSConfigs.Value;
     _generalConfig           = appSettingsGeneral.Value;
     this._hostingEnvironment = _hostingEnvironment;
 }
Пример #2
0
 public ViaturasController(IOptions <NAVConfigurations> appSettings, IOptions <NAVWSConfigurations> NAVWSConfigs, IHostingEnvironment _hostingEnvironment, IOptions <GeneralConfigurations> appSettingsGeneral)
 {
     _config   = appSettings.Value;
     _configws = NAVWSConfigs.Value;
     this._hostingEnvironment = _hostingEnvironment;
     _generalConfig           = appSettingsGeneral.Value;
 }
        private bool ValidateForPosting(ref BillingReceptionModel item, NAVConfigurations _config)
        {
            bool isValid = true;

            try
            {
                //Check if exists
                bool documentAlreadyExist = DBNAV2017Purchases.DocumentExistsFor(_config.NAVDatabaseName, _config.NAVCompanyName, item.Id);
                if (documentAlreadyExist)
                {
                    item.eMessage = "Já foi criada uma fatura para a receção selecionada.";
                    isValid       = false;
                }
            }
            catch (Exception ex)
            {
                item.eMessage = "Não foi possivel validar a existência da fatura. Por favor tente novamente. Se o problema persistir contacte o administrador.";
                isValid       = false;
            }
            if (!isValid)
            {
                return(isValid);
            }


            PurchaseHeader purchOrderInfo = null;

            if (Convert.ToDateTime(item.DataDocFornecedor) > item.DataModificacao)
            {
                item.eMessage = "A data do documento (" + item.DataDocFornecedor + ") é maior que a data do registo (" + (item.DataModificacao.HasValue ? item.DataModificacao.Value.ToString("yyyy-MM-dd") : string.Empty) + ")";
                //item.eMessages.Add(new TraceInformation(TraceType.Error, "A data do documento: " + item.DataDocFornecedor + " é maior que a data do registo: " + item.DataModificacao));
                isValid = false;
            }
            else if (!string.IsNullOrEmpty(item.NumEncomenda))
            {
                purchOrderInfo = DBNAV2017Purchases.GetOrderById(_config.NAVDatabaseName, _config.NAVCompanyName, item.NumEncomenda);
                if (purchOrderInfo.No != item.NumEncomenda)
                {
                    item.eMessage = "A encomenda " + item.NumEncomenda + " não existe ou já está registada.";
                    //item.eMessages.Add(new TraceInformation(TraceType.Error, "A encomenda " + item.NumEncomenda + " não existe ou já está registada."));
                    isValid = false;
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(item.NumEncomendaManual))
                {
                    purchOrderInfo = DBNAV2017Purchases.GetOrderById(_config.NAVDatabaseName, _config.NAVCompanyName, item.NumEncomendaManual);
                    if (purchOrderInfo.No != item.NumEncomendaManual)
                    {
                        item.eMessage = "A encomenda (Núm. Encomenda Manual) " + item.NumEncomendaManual + " não existe ou já está registada.";
                        //item.eMessages.Add(new TraceInformation(TraceType.Error, "A encomenda (Núm. Encomenda Manual) " + item.NumEncomendaManual + " não existe ou já está registada."));
                        isValid = false;
                    }
                }
            }
            return(isValid);
        }
Пример #4
0
 public RequisitionService(NAVConfigurations appSettings, NAVWSConfigurations NAVWSConfigs, string logChangesAsUserName)
 {
     _config                = appSettings;
     this.configws          = NAVWSConfigs;
     this.changedByUserName = logChangesAsUserName;
 }
 public MovimentoProdutosController(IOptions <NAVConfigurations> appSettings)
 {
     _config = appSettings.Value;
 }
Пример #6
0
 public LocalizacoesController(IOptions <NAVConfigurations> appSettings)
 {
     _config = appSettings.Value;
 }
 public NutricaoController(IOptions <NAVConfigurations> appSettings)
 {
     _config = appSettings.Value;
 }
 public GuiasTransporteNavController(IOptions <NAVConfigurations> appSettings, IOptions <NAVWSConfigurations> NAVWSConfigs, IOptions <GeneralConfigurations> appSettingsGeneral, IHostingEnvironment _hostingEnvironment)
 {
     _config   = appSettings.Value;
     _configws = NAVWSConfigs.Value;
     this._hostingEnvironment = _hostingEnvironment;
 }
 public EnderecosEnvioController(IOptions <NAVConfigurations> appSettings, IOptions <NAVWSConfigurations> NAVWSConfigs)
 {
     _config   = appSettings.Value;
     _configws = NAVWSConfigs.Value;
 }
 public CafetariasRefeitoriosController(IOptions <NAVConfigurations> appSettings)
 {
     config = appSettings.Value;
 }
Пример #11
0
 public LinhasPreEncomendaController(IOptions <NAVConfigurations> appSettings, IOptions <NAVWSConfigurations> NAVWSConfigs)
 {
     _config  = appSettings.Value;
     configws = NAVWSConfigs.Value;
 }
        public BillingReceptionModel OpenOrderByBilling(BillingReceptionModel item, string postedByUserName, NAVConfigurations _config, NAVWSConfigurations _configws)
        {
            if (item != null)
            {
                Task <WSGenericCodeUnit.FxGetURLOrderRequisition_Result> createOrderBillingLinkTask = WSGeneric.GetOrderRequisition(item.Id, _configws);

                createOrderBillingLinkTask.Wait();
                if (createOrderBillingLinkTask.IsCompletedSuccessfully)
                {
                    try
                    {
                        item.eReasonCode = 1;
                        item.eMessage    = "Factura Aberta.";
                        item.link        = createOrderBillingLinkTask.Result.return_value;
                    }
                    catch
                    {
                        item.eReasonCode = 2;
                        item.eMessage    = "Não foi possivel abrir a Factura nº:" + item.Id;
                    }
                }
                else
                {
                    item.Id = item.Id.Remove(0, 2);
                }
            }
            else
            {
                item.eReasonCode = 2;
                item.eMessage    = "O registo não pode ser nulo";
            }
            return(item);
        }
        public BillingReceptionModel PostDocument(BillingReceptionModel item, string postedByUserName, string prePurchInvoiceNoSerie, NAVConfigurations _config, NAVWSConfigurations _configws)
        {
            if (item != null)
            {
                if (ValidateForPosting(ref item, _config))
                {
                    item.DocumentoCriadoEm  = DateTime.Now;
                    item.DocumentoCriadoPor = postedByUserName;
                    Task <WsPrePurchaseDocs.Create_Result> createPurchHeaderTask = NAVPurchaseHeaderService.CreateAsync(item, prePurchInvoiceNoSerie, _configws);
                    createPurchHeaderTask.Wait();
                    if (createPurchHeaderTask.IsCompletedSuccessfully)
                    {
                        //item.Id = item.Id.Remove(0, 2);
                        repo.Update(item);

                        try
                        {
                            repo.SaveChanges();

                            item.eReasonCode = 1;
                            item.eMessage    = "Documento criado com sucesso.";
                        }
                        catch
                        {
                            //TODO: Rever comportamento no caso de erro
                            item.eReasonCode = 2;
                            item.eMessage    = "Documento rececionado mas não foi possivel atualizar os dados da receção.";
                        }
                    }
                    //else
                    //{
                    //    item.Id = item.Id.Remove(0, 2);
                    //}
                }
                else
                {
                    item.eReasonCode = 2;
                }
            }
            else
            {
                item.eReasonCode = 2;
                item.eMessage    = "O registo não pode ser nulo";
            }
            return(item);
        }