public static async Task <WSCreatePreInvoice.Create_Result> CreatePreInvoice(AuthorizedCustomerBillingHeader billingHeader, NAVWSConfigurations WSConfigurations) { SPInvoiceListViewModel invoiceHeader = new SPInvoiceListViewModel(); invoiceHeader.InvoiceToClientNo = billingHeader.InvoiceToClientNo; invoiceHeader.Date = billingHeader.Date; invoiceHeader.CommitmentNumber = billingHeader.CommitmentNumber; invoiceHeader.ClientRequest = billingHeader.ClientRequest; invoiceHeader.ClientVATReg = billingHeader.ClientVATReg; invoiceHeader.ContractNo = billingHeader.ContractNo; invoiceHeader.Currency = billingHeader.Currency; invoiceHeader.ServiceDate = billingHeader.ServiceDate; invoiceHeader.UpdateDate = billingHeader.UpdateDate; invoiceHeader.RegionCode = billingHeader.RegionCode; invoiceHeader.FunctionalAreaCode = billingHeader.FunctionalAreaCode; invoiceHeader.ResponsabilityCenterCode = billingHeader.ResponsabilityCenterCode; invoiceHeader.LocationCode = billingHeader.LocationCode; invoiceHeader.Comments = billingHeader.Comments; invoiceHeader.CodTermosPagamento = billingHeader.CodTermosPagamento; invoiceHeader.CodMetodoPagamento = billingHeader.CodMetodoPagamento; invoiceHeader.CreateUser = billingHeader.CreateUser; invoiceHeader.FaturaPrecosIvaIncluido = billingHeader.FaturaPrecosIvaIncluido.HasValue ? (bool)billingHeader.FaturaPrecosIvaIncluido : false; return(await CreatePreInvoice(invoiceHeader, WSConfigurations)); }
public static List <SPInvoiceListViewModel> GetAllAutorized() { try { List <SPInvoiceListViewModel> result = new List <SPInvoiceListViewModel>(); using (var ctx = new SuchDBContextExtention()) { var parameters = new[] { new SqlParameter("@Autorization", 1), new SqlParameter("@Invoiced", 0) }; IEnumerable <dynamic> data = ctx.execStoredProcedure("exec NAV2017ProjectMovemmentsInvoiceGrid @Autorization, @Invoiced", parameters); foreach (dynamic temp in data) { SPInvoiceListViewModel item = new SPInvoiceListViewModel(); item.ClientRequest = temp.PedidodoCliente.Equals(DBNull.Value) ? "" : (string)temp.PedidodoCliente; item.InvoiceToClientNo = temp.FaturaNoCliente.Equals(DBNull.Value) ? "" : (string)temp.FaturaNoCliente; item.CommitmentNumber = temp.NoCompromisso.Equals(DBNull.Value) ? "" : (string)temp.NoCompromisso; item.ProjectNo = temp.NoProjeto.Equals(DBNull.Value) ? "" : (string)temp.NoProjeto; item.Date = temp.Data.Equals(DBNull.Value) ? "" : (string)temp.Data.ToString("yyyy-MM-dd"); item.LineNo = (int)temp.NoLinha; item.MovementType = temp.TipoMovimento.Equals(DBNull.Value) ? null : (int?)temp.TipoMovimento; item.Type = temp.Tipo.Equals(DBNull.Value) ? null : (int?)temp.Tipo; item.Code = temp.Código.Equals(DBNull.Value) ? "" : (string)temp.Código; item.Description = temp.Descrição.Equals(DBNull.Value) ? "" : (string)temp.Descrição; item.MeasurementUnitCode = temp.CodUnidadeMedida.Equals(DBNull.Value) ? "" : (string)temp.CodUnidadeMedida; item.Quantity = temp.Quantidade.Equals(DBNull.Value) ? null : (decimal?)temp.Quantidade; item.LocationCode = temp.CodLocalizacao.Equals(DBNull.Value) ? "" : (string)temp.CodLocalizacao; item.ProjectContabGroup = temp.GrupoContabProjeto.Equals(DBNull.Value) ? "" : (string)temp.GrupoContabProjeto; item.RegionCode = temp.CodigoRegiao.Equals(DBNull.Value) ? "" : (string)temp.CodigoRegiao; item.FunctionalAreaCode = temp.CodAreaFuncional.Equals(DBNull.Value) ? "" : (string)temp.CodAreaFuncional; item.ResponsabilityCenterCode = temp.CodCentroResponsabilidade.Equals(DBNull.Value) ? "" : (string)temp.CodCentroResponsabilidade; item.User = temp.Utilizador.Equals(DBNull.Value) ? "" : (string)temp.Utilizador; item.UnitCost = temp.CustoUnitario.Equals(DBNull.Value) ? null : (decimal?)temp.CustoUnitario; item.TotalCost = temp.CustoTotal.Equals(DBNull.Value) ? null : (decimal?)temp.CustoTotal; item.UnitPrice = temp.PrecoUnitario.Equals(DBNull.Value) ? null : (decimal?)temp.PrecoUnitario; item.TotalPrice = temp.PrecoTotal.Equals(DBNull.Value) ? null : (decimal?)temp.PrecoTotal; item.Billable = temp.Faturável.Equals(DBNull.Value) ? null : (bool?)temp.Faturável; item.AutorizatedInvoice = temp.FaturacaoAutorizada.Equals(DBNull.Value) ? null : (bool?)temp.FaturacaoAutorizada; item.AutorizatedInvoiceData = temp.DataAutorizacaoFaturacao.Equals(DBNull.Value) ? "" : (string)temp.DataAutorizacaoFaturacao.ToString("yyyy-MM-dd"); item.ConsumptionDate = temp.DataConsumo.Equals(DBNull.Value) ? "" : (string)temp.DataConsumo.ToString("yyyy-MM-dd"); item.CreateDate = temp.DataHoraCriacao.Equals(DBNull.Value) ? null : (DateTime?)temp.DataHoraCriacao; item.CreateUser = temp.UtilizadorCriacao.Equals(DBNull.Value) ? "" : (string)temp.UtilizadorCriacao; item.Registered = temp.Registado.Equals(DBNull.Value) ? null : (bool?)temp.Registado; item.Billed = temp.Faturada.Equals(DBNull.Value) ? null : (bool?)temp.Faturada; item.MealType = temp.TipoRefeicao.Equals(DBNull.Value) ? null : (int?)temp.TipoRefeicao; item.InvoiceGroup = temp.GrupoFatura.Equals(DBNull.Value) ? null : (int?)temp.GrupoFatura; item.InvoiceGroupDescription = temp.GrupoFaturaDescricao.Equals(DBNull.Value) ? "" : (string)temp.GrupoFaturaDescricao; result.Add(item); } } return(result); } catch (Exception ex) { return(null); } }
public static async Task <WSCreatePreInvoice.Create_Result> CreatePreInvoice(AuthorizedCustomerBillingHeader billingHeader, NAVWSConfigurations WSConfigurations, string dataFormulario, string projeto, SPInvoiceListViewModel Ship) { SPInvoiceListViewModel invoiceHeader = new SPInvoiceListViewModel(); invoiceHeader.InvoiceToClientNo = billingHeader.InvoiceToClientNo; invoiceHeader.Date = billingHeader.Date; invoiceHeader.DataPedido = billingHeader.DataPedido; invoiceHeader.CommitmentNumber = billingHeader.CommitmentNumber; invoiceHeader.ClientRequest = billingHeader.ClientRequest; invoiceHeader.ClientVATReg = billingHeader.ClientVATReg; invoiceHeader.ContractNo = billingHeader.ContractNo; invoiceHeader.Currency = billingHeader.Currency; invoiceHeader.ServiceDate = billingHeader.ServiceDate; invoiceHeader.UpdateDate = billingHeader.UpdateDate; invoiceHeader.RegionCode = billingHeader.RegionCode; invoiceHeader.FunctionalAreaCode = billingHeader.FunctionalAreaCode; invoiceHeader.ResponsabilityCenterCode = billingHeader.ResponsabilityCenterCode; invoiceHeader.LocationCode = billingHeader.LocationCode; invoiceHeader.Comments = billingHeader.Comments; invoiceHeader.CodTermosPagamento = billingHeader.CodTermosPagamento; invoiceHeader.CodMetodoPagamento = billingHeader.CodMetodoPagamento; invoiceHeader.CreateUser = billingHeader.CreateUser; invoiceHeader.Posting_Date = Convert.ToDateTime(dataFormulario); invoiceHeader.ProjectNo = projeto; invoiceHeader.MovementType = billingHeader.MovementType; invoiceHeader.Ship_to_Code = Ship.Ship_to_Code; //invoiceHeader.Ship_to_Address = Ship.Ship_to_Address; //invoiceHeader.Ship_to_Address_2 = Ship.Ship_to_Address_2; //invoiceHeader.Ship_to_City = Ship.Ship_to_City; //invoiceHeader.Ship_to_Contact = Ship.Ship_to_Contact; //invoiceHeader.Ship_to_Country_Region_Code = Ship.Ship_to_Country_Region_Code; //invoiceHeader.Ship_to_County = Ship.Ship_to_County; //invoiceHeader.Ship_to_Name = Ship.Ship_to_Name; //invoiceHeader.Ship_to_Name_2 = Ship.Ship_to_Name_2; //invoiceHeader.Ship_to_Post_Code = Ship.Ship_to_Post_Code; invoiceHeader.FaturaPrecosIvaIncluido = billingHeader.FaturaPrecosIvaIncluido.HasValue ? (bool)billingHeader.FaturaPrecosIvaIncluido : false; return(await CreatePreInvoice(invoiceHeader, WSConfigurations)); }
public static async Task <WSCreatePreInvoice.Create_Result> CreatePreInvoice(SPInvoiceListViewModel preInvoiceToCreate, NAVWSConfigurations WSConfigurations) { WSCreatePreInvoice.Document_Type tipo; bool notaDebito = false; string PostingNoSeries = ""; ConfigUtilizadores CUsers = DBUserConfigurations.GetById(preInvoiceToCreate.CreateUser); if (preInvoiceToCreate.MovementType == 2)//Nota de débito { tipo = WSCreatePreInvoice.Document_Type.Invoice; notaDebito = true; PostingNoSeries = CUsers.NumSerieNotasDebito; } else if (preInvoiceToCreate.MovementType == 4)//Nota de crédito { tipo = WSCreatePreInvoice.Document_Type.Credit_Memo; notaDebito = false; PostingNoSeries = CUsers.NumSerieNotasCredito; } else// Fatura { tipo = WSCreatePreInvoice.Document_Type.Invoice; notaDebito = false; PostingNoSeries = CUsers.NumSerieFaturas; } WSCreatePreInvoice.Create NAVCreate = new WSCreatePreInvoice.Create() { WSPreInvoice = new WSCreatePreInvoice.WSPreInvoice() { Document_Type = tipo, Document_TypeSpecified = true, Sell_to_Customer_No = preInvoiceToCreate.InvoiceToClientNo, VAT_Registration_No = preInvoiceToCreate.ClientVATReg, Contract_No = preInvoiceToCreate.ContractNo, Debit_Memo = notaDebito, Debit_MemoSpecified = true, Posting_No_Series = PostingNoSeries, Codigo_Pedido = preInvoiceToCreate.ClientRequest, Currency_Code = preInvoiceToCreate.Currency, Data_Serv_Prestado = preInvoiceToCreate.ServiceDate, Data_Encomenda = !string.IsNullOrEmpty(preInvoiceToCreate.DataPedido) ? DateTime.Parse(preInvoiceToCreate.DataPedido) : DateTime.MinValue, Data_EncomendaSpecified = !string.IsNullOrEmpty(preInvoiceToCreate.DataPedido), //Document_Date = preInvoiceToCreate.dat //Due_Date //Document_Date //External_Document_No RegionCode20 = preInvoiceToCreate.RegionCode, FunctionAreaCode20 = preInvoiceToCreate.FunctionalAreaCode, ResponsabilityCenterCode20 = preInvoiceToCreate.ResponsabilityCenterCode, Location_Code = preInvoiceToCreate.LocationCode, No_Compromisso = preInvoiceToCreate.CommitmentNumber, Observacoes = preInvoiceToCreate.Comments, Responsibility_Center = CUsers.CentroDeResponsabilidade, //Order_Date Payment_Method_Code = preInvoiceToCreate.CodMetodoPagamento, Payment_Terms_Code = preInvoiceToCreate.CodTermosPagamento, //Posting_Date Posting_Date = !string.IsNullOrEmpty(preInvoiceToCreate.Posting_Date.ToString()) ? DateTime.Parse(preInvoiceToCreate.Posting_Date.ToString()) : DateTime.MinValue, Posting_DateSpecified = !string.IsNullOrEmpty(preInvoiceToCreate.Posting_Date.ToString()), Document_Date = !string.IsNullOrEmpty(preInvoiceToCreate.Posting_Date.ToString()) ? DateTime.Parse(preInvoiceToCreate.Posting_Date.ToString()) : DateTime.MinValue, Document_DateSpecified = !string.IsNullOrEmpty(preInvoiceToCreate.Posting_Date.ToString()), External_Document_No = preInvoiceToCreate.ProjectNo, Ship_to_Address = preInvoiceToCreate.Ship_to_Address, Ship_to_Address_2 = preInvoiceToCreate.Ship_to_Address_2, Ship_to_City = preInvoiceToCreate.Ship_to_City, Ship_to_Code = preInvoiceToCreate.Ship_to_Code, Ship_to_Contact = preInvoiceToCreate.Ship_to_Contact, Ship_to_Country_Region_Code = preInvoiceToCreate.Ship_to_Country_Region_Code, Ship_to_County = preInvoiceToCreate.Ship_to_County, Ship_to_Name = preInvoiceToCreate.Ship_to_Name, Ship_to_Name_2 = preInvoiceToCreate.Ship_to_Name_2, Ship_to_Post_Code = preInvoiceToCreate.Ship_to_Post_Code, Prices_Including_VAT = preInvoiceToCreate.FaturaPrecosIvaIncluido.HasValue ? (bool)preInvoiceToCreate.FaturaPrecosIvaIncluido : false, Prices_Including_VATSpecified = true } }; //Configure NAV Client EndpointAddress WS_URL = new EndpointAddress(WSConfigurations.WS_PreInvoice_URL.Replace("Company", WSConfigurations.WS_User_Company)); WSCreatePreInvoice.WSPreInvoice_PortClient WS_Client = new WSCreatePreInvoice.WSPreInvoice_PortClient(navWSBinding, WS_URL); WS_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation; WS_Client.ClientCredentials.Windows.ClientCredential = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain); return(await WS_Client.CreateAsync(NAVCreate)); }