public ActionResult SalesOrderLine_Delete([DataSourceRequest] DataSourceRequest request, salesOrderLineModel modelSalesOrderLine) { var iResult = new List <salesOrderLineModel>(); if (!ModelState.IsValid) { iResult.Add(modelSalesOrderLine); } else { try { var iUri = new Uri(ODataWebService.BuildODataUrl()); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; var salesOrderLine = (from lsalesOrderLine in iWebService.salesOrderLines where lsalesOrderLine.id == modelSalesOrderLine.id select lsalesOrderLine).FirstOrDefault(); if (salesOrderLine != null) { iWebService.DeleteObject(salesOrderLine); iWebService.SaveChanges(); } } catch (DataServiceRequestException ex) { ModelState.AddModelError("", ex.Message); iResult.Add(modelSalesOrderLine); } } return(Json(iResult.ToDataSourceResult(request, ModelState))); }
public ActionResult SalesOrderLines_Read([DataSourceRequest] DataSourceRequest request, Guid documentId) { var salesOrderLinesModel = new List <salesOrderLineModel>(); try { var iUri = new Uri(ODataWebService.BuildODataUrl()); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; var salesOrderLines = (from lsalesOrderLine in iWebService.salesOrderLines where lsalesOrderLine.documentId == documentId orderby lsalesOrderLine.sequence select lsalesOrderLine); foreach (salesOrderLine lsalesOrderLine in salesOrderLines) { salesOrderLinesModel.Add(new salesOrderLineModel(lsalesOrderLine)); } } catch (DataServiceRequestException ex) { ModelState.AddModelError("", ex.Message); } return(Json(salesOrderLinesModel.ToDataSourceResult(request, ModelState))); }
public IQueryable <salesOrder> GetSalesOrders(ODataQueryOptions queryOptions) { IQueryable <salesOrder> iQuery = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { //var iCustomerId = ClaimsPrincipal.Current.Claims.Where(w => w.Type == "extension_CustomerId").Select(s => s.Value).FirstOrDefault(); //iQuery = from salesOrder in iWebService.salesOrders // where salesOrder.customerId == new Guid(iCustomerId) // select salesOrder; iQuery = (IQueryable <salesOrder>)queryOptions.ApplyTo(iWebService.salesOrders); } catch (Exception ex) { // return ex; } return(iQuery); }
public JsonResult GetCustomers(string CompanyId = "") { if (CompanyId == "") { CompanyId = ClaimsPrincipal.Current.Claims.Where(w => w.Type == "extension_CompanyId").Select(s => s.Value).FirstOrDefault(); } Uri iUri = string.IsNullOrEmpty(CompanyId) ? new Uri(ODataWebService.BuildODataUrl()) : new Uri(ODataWebService.BuildODataUrl(CompanyId)); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { var iResults = (from Customer in iWebService.customers orderby Customer.displayName select new { Customer.number, Customer.displayName, Customer.id }).ToList().Distinct(); return(Json(iResults, JsonRequestBehavior.AllowGet)); } catch { return(Json(null, JsonRequestBehavior.AllowGet)); } }
// Could not figure this out // Public Function GetSingleEntity(Of tEntity, TEntityCollection)(Optional ByVal pODataParms As String = "", Optional ByVal pByCompany As Boolean = True) As tEntity // Dim iEntityCollection = GetEntityCollection(Of TEntityCollection)(pODataParms, pByCompany) // ' Dim iEntity As tEntity = Nothing // If iEntityCollection IsNot Nothing Then // Dim iEntity = iEntityCollection.value(0) // End If // Return iEntity // End Function //public static string BuildODataUrl(string pCommand, bool pByCompany = true) //{ // string iUrl = ""; // if (pByCompany) // { // if (string.IsNullOrEmpty(vCompanyID)) // { // var iCompany = GetEntityCollection<BCEntities.companies>(string.Format("$filter=name eq '{0}'", Settings.Default.CompanyName), false).value.FirstOrDefault(); // if (iCompany != null) // vCompanyID = iCompany.id; // } // iUrl = Settings.Default.Transport + Settings.Default.Host + "/V2.0/" + Settings.Default.TenantId + "/" + Settings.Default.Environment + "/" + Settings.Default.apiVersion + string.Format("/companies({0})/", vCompanyID) + pCommand; // } // else // iUrl = Settings.Default.Transport + Settings.Default.Host + "/V2.0/" + Settings.Default.TenantId + "/" + Settings.Default.Environment + "/" + Settings.Default.apiVersion + "/" + pCommand; // return iUrl; //} public static TEntity SendRequest <TRequest, TEntity>(string pURL, string pMethod, TRequest pData, string pEtag = "") { HttpWebRequest iHttpRequest; Stream iStream = null; TEntity iResult; JsonSerializer iJsonSerializer = new JsonSerializer(); string iJsonData = ""; byte[] iBytes; iHttpRequest = (HttpWebRequest)HttpWebRequest.Create(pURL); iHttpRequest.Host = Settings.Default.Host; iHttpRequest.ContentType = "application/json"; iHttpRequest.Accept = "*/*"; iHttpRequest.Method = pMethod; iHttpRequest.Timeout = 900000; var iTenantContext = ODataWebService.TenantContext(); iHttpRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(iTenantContext.UserName + ":" + iTenantContext.Password))); if (!string.IsNullOrEmpty(pEtag)) { iHttpRequest.Headers.Add("If-Match", pEtag); } try { iStream = iHttpRequest.GetRequestStream(); iJsonData = JsonConvert.SerializeObject(pData, Formatting.None); iBytes = ASCIIEncoding.ASCII.GetBytes(iJsonData); iStream.Write(iBytes, 0, iBytes.Length); iStream.Close(); iStream = iHttpRequest.GetResponse().GetResponseStream(); iResult = iJsonSerializer.Deserialize <TEntity>(new JsonTextReader(new StreamReader(iStream))); } catch (WebException ex) { iStream = ex.Response.GetResponseStream(); iResult = iJsonSerializer.Deserialize <TEntity>(new JsonTextReader(new StreamReader(iStream))); } catch (Exception ex) { throw ex; } finally { if (iStream != null) { iStream.Close(); } } return(iResult); }
public static TResult DeleteEntity <TEntity, TResult>(string pEntityId, string pEtag, bool pByCompany = true) { var iEntityUrl = typeof(TEntity).Name + "s"; var iURl = ODataWebService.BuildODataUrl(pByCompany); var iResult = SendRequest <TResult>(iURl, "DELETE", pEtag); return(iResult); }
public UserModel newUser() { var newUser = new b2c_ms_graph.UserModel(); newUser.extension_39d2bd21d67b480891ffa985c6eb1398_TenantId = ODataWebService.TenantId(); newUser.extension_39d2bd21d67b480891ffa985c6eb1398_CompanyId = ODataWebService.CompanyId(); newUser.extension_39d2bd21d67b480891ffa985c6eb1398_WebRole = int.Parse(ODataWebService.WebRole()) + 1; newUser.forcePasswordChange = false; newUser.DisplayAccountEnabled = true; return(newUser); }
public static TEntityCollection GetEntityCollection <TEntityCollection>(string pODataParms = "", bool pByCompany = true) { TEntityCollection iEntityCollection = default(TEntityCollection); var iURl = ODataWebService.BuildODataUrl(pByCompany) + typeof(TEntityCollection).Name; if (!string.IsNullOrEmpty(pODataParms)) { iURl += "?" + pODataParms; } iEntityCollection = SendRequest <TEntityCollection>(iURl, "GET"); return(iEntityCollection); }
public static TEntity CreateEntity <TEntity>(TEntity pDataFields, string pODataParms = "", bool pByCompany = true) { TEntity iEntity = default(TEntity); var iURl = ODataWebService.BuildODataUrl(pByCompany) + typeof(TEntity).Name + "s"; if (!string.IsNullOrEmpty(pODataParms)) { iURl += "?" + pODataParms; } iEntity = SendRequest <TEntity, TEntity>(iURl, "POST", pDataFields); return(iEntity); }
public static TEntity UpdateEntity <TEntity, TData>(string pEntityId, TData pModifiedFields, string pEtag, string pODataParms = "", bool pByCompany = true) { TEntity iEntity = default(TEntity); var iURl = ODataWebService.BuildODataUrl(pByCompany) + string.Format("{0}s({1})", typeof(TEntity).Name, pEntityId); if (!string.IsNullOrEmpty(pODataParms)) { iURl += "?" + pODataParms; } iEntity = SendRequest <TData, TEntity>(iURl, "PATCH", pModifiedFields, pEtag); return(iEntity); }
// private static string vCompanyID; public static TEntity GetEntityById <TEntity>(string pEntityId, string pODataParms = "", bool pByCompany = true) { TEntity iEntity = default(TEntity); var iURl = ODataWebService.BuildODataUrl(pByCompany) + string.Format("{0}s({1})", typeof(TEntity).Name, pEntityId); if (!string.IsNullOrEmpty(pODataParms)) { iURl += "?" + pODataParms; } iEntity = SendRequest <TEntity>(iURl, "GET"); return(iEntity); }
public ActionResult Index() { var iCompanyId = ClaimsPrincipal.Current.Claims.Where(w => w.Type == "extension_CompanyId").Select(s => s.Value).FirstOrDefault(); Uri iUri = new Uri(ODataWebService.BuildODataUrl(false)); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; var iCompanyName = (from Company in iWebService.companies where Company.id == new Guid(iCompanyId) select Company.displayName).FirstOrDefault(); ViewBag.CompanyName = iCompanyName; return(View()); }
public ActionResult Details(Guid id) { salesOrder iSalesOrder = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { iSalesOrder = (from salesOrder in iWebService.salesOrders where salesOrder.id == id select salesOrder).FirstOrDefault(); } catch (Exception ex) { // return ex; } return(View(iSalesOrder)); }
public ActionResult Details(Guid id) { item iItem = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { iItem = (from Item in iWebService.items where Item.id == id select Item).FirstOrDefault(); } catch (Exception ex) { // return ex; } return(View(iItem)); }
public JsonResult GetItemsByNumber(string text) { object iResults = null; if (text.Length >= 3) { Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; iResults = (from Item in iWebService.items orderby Item.number where Item.number.Contains(text) select new { itemNumber = Item.number, displayName = Item.displayName, id = Item.id }).ToList(); } return(Json(iResults, JsonRequestBehavior.AllowGet)); }
public IQueryable <salesInvoiceLine> GetSalesInvoiceLines(ODataQueryOptions queryOptions) { IQueryable <salesInvoiceLine> iQuery = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { iQuery = (IQueryable <salesInvoiceLine>)queryOptions.ApplyTo(iWebService.salesInvoiceLines); } catch (Exception ex) { // return ex; } return(iQuery); }
public ActionResult Subscriptions_Read([DataSourceRequest] DataSourceRequest request) { IQueryable <subscriptions> subscriptions = null; try { var iUri = new Uri(ODataWebService.BuildODataUrl(false)); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; subscriptions = (from subscription in iWebService.subscriptions select subscription); } catch (DataServiceRequestException ex) { ModelState.AddModelError("", ex.Message); } return(Json(subscriptions.ToDataSourceResult(request, ModelState))); }
public JsonResult GetCompanies() { Uri iUri = new Uri(ODataWebService.BuildODataUrl(false)); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { var iResults = (from Company in iWebService.companies orderby Company.displayName select new { Company.displayName, Company.id }).ToList().Distinct(); return(Json(iResults, JsonRequestBehavior.AllowGet)); } catch { return(Json(null, JsonRequestBehavior.AllowGet)); } }
public ActionResult CreateOrder(salesOrderModel salesOrderModel) { if (string.IsNullOrEmpty(salesOrderModel.customerNumber)) { ModelState.AddModelError("", "Customer Number is required"); } if (!ModelState.IsValid) { return(View(salesOrderModel)); } var newOrder = new salesOrder(); try { var iUri = new Uri(ODataWebService.BuildODataUrl()); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; newOrder.customerNumber = salesOrderModel.customerNumber; newOrder.billToCustomerNumber = salesOrderModel.customerNumber; newOrder.externalDocumentNumber = salesOrderModel.externalDocumentNumber; newOrder.orderDate = salesOrderModel.orderDateTime; newOrder.requestedDeliveryDate = salesOrderModel.requestedDeliveryDateTime; newOrder.shipToContact = salesOrderModel.shipToContact; newOrder.shipToName = salesOrderModel.shipToName; newOrder.shippingPostalAddress = salesOrderModel.shippingPostalAddress; iWebService.AddTosalesOrders(newOrder); iWebService.SaveChanges(); } catch (Exception ex) { } return(RedirectToAction("UpdateOrder", new { id = newOrder.id })); }
public ActionResult UpdateOrder(Guid id) { salesOrderModel salesOrderModel = new salesOrderModel(); Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { var salesOrder = (from lsalesOrder in iWebService.salesOrders where lsalesOrder.id == id select lsalesOrder).FirstOrDefault(); if (salesOrder.status != "Draft") { ModelState.AddModelError("", "This order has been released and cannot be modified"); } salesOrderModel.id = salesOrder.id; salesOrderModel.number = salesOrder.number; salesOrderModel.customerNumber = salesOrder.customerNumber; salesOrderModel.billToCustomerNumber = salesOrder.customerNumber; salesOrderModel.externalDocumentNumber = salesOrder.externalDocumentNumber; salesOrderModel.orderDateTime = DateTime.Parse(salesOrder.orderDate.ToString()); salesOrderModel.requestedDeliveryDateTime = DateTime.Parse(salesOrder.requestedDeliveryDate.ToString()); salesOrderModel.shipToContact = salesOrder.shipToContact; salesOrderModel.shipToName = salesOrder.shipToName; salesOrderModel.shippingPostalAddress = salesOrder.shippingPostalAddress; } catch (Exception ex) { } return(View(salesOrderModel)); }
public IQueryable <customer> GetCustomers(ODataQueryOptions queryOptions) { IQueryable <customer> iQuery = null; Uri iUri = new Uri(ODataWebService.BuildODataUrl()); NAV iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; try { // iQuery = (IQueryable<customer>)queryOptions.ApplyTo(iWebService.customers); var Customer = (from Cust in iWebService.customers where Cust.number == "10000" select Cust).FirstOrDefault(); var CreateDate = DateTime.Parse(Customer.lastModifiedDateTime.ToString()); } catch (Exception ex) { // return ex; } return(iQuery); }
public ActionResult SalesOrderLine_Create([DataSourceRequest] DataSourceRequest request, salesOrderLineModel modelSalesOrderLine) { var iResult = new List <salesOrderLineModel>(); if (string.IsNullOrEmpty(modelSalesOrderLine.itemNumber)) { ModelState.AddModelError("", "Item nunber is required"); } if (!ModelState.IsValid) { iResult.Add(modelSalesOrderLine); } else { try { var documentId = new Guid(modelSalesOrderLine.documentId); var iUri = new Uri(ODataWebService.BuildODataUrl()); var iWebService = new NAV(iUri) { Credentials = ODataWebService.CreateCredentials(iUri.ToString()) }; var iItem = (from item in iWebService.items where item.number == modelSalesOrderLine.itemNumber select item).FirstOrDefault(); var lastSequence = (from salesOrderLine in iWebService.salesOrderLines orderby salesOrderLine.sequence descending where salesOrderLine.documentId == documentId select new { id = salesOrderLine.id, lineNumber = salesOrderLine.sequence }).FirstOrDefault(); int lastLineNumber = 10000; if (lastSequence != null) { lastLineNumber = (int)lastSequence.lineNumber + 10000; } if (iItem != null) { var newOrderLine = new Microsoft.NAV.salesOrderLine(); newOrderLine.id = ""; newOrderLine.documentId = documentId; newOrderLine.sequence = lastLineNumber; newOrderLine.lineType = "Item"; newOrderLine.itemId = iItem.id; newOrderLine.description = modelSalesOrderLine.itemDescription; newOrderLine.quantity = modelSalesOrderLine.quantity; newOrderLine.unitPrice = (decimal)modelSalesOrderLine.unitPrice; iWebService.AddTosalesOrderLines(newOrderLine); iWebService.SaveChanges(); iResult.Add(new salesOrderLineModel(newOrderLine)); } else { ModelState.AddModelError("", "Invalid Item Number"); iResult.Add(modelSalesOrderLine); } } catch (DataServiceRequestException ex) { ModelState.AddModelError("", ex.Message); iResult.Add(modelSalesOrderLine); } } return(Json(iResult.ToDataSourceResult(request, ModelState))); }
public async Task <ActionResult> CreateUser(b2c_ms_graph.UserModel userModel, FormCollection formCollection) { if (string.IsNullOrEmpty(userModel.newPassword)) { ModelState.AddModelError("", "New Password is required."); } if (userModel.newPassword != userModel.confirmPassword) { ModelState.AddModelError("", "New Password and confirm password do not match."); } if (ModelState.IsValid) { try { User newUser = new User(); IDictionary <string, object> extensionInstance = new Dictionary <string, object>(); extensionInstance.Add(B2cCustomAttributeHelper.GetCompleteAttributeName("WebRole"), int.Parse(ODataWebService.WebRole()) + 1); extensionInstance.Add(B2cCustomAttributeHelper.GetCompleteAttributeName("TenantId"), ODataWebService.TenantId()); extensionInstance.Add(B2cCustomAttributeHelper.GetCompleteAttributeName("CompanyId"), userModel.extension_39d2bd21d67b480891ffa985c6eb1398_CompanyId); extensionInstance.Add(B2cCustomAttributeHelper.GetCompleteAttributeName("CustomerNumber"), userModel.extension_39d2bd21d67b480891ffa985c6eb1398_CustomerNumber); newUser.AdditionalData = extensionInstance; newUser.DisplayName = userModel.DisplayName; newUser.AccountEnabled = userModel.DisplayAccountEnabled; newUser.PasswordProfile = new PasswordProfile { Password = userModel.newPassword, ForceChangePasswordNextSignIn = userModel.forcePasswordChange }; newUser.PasswordPolicies = "DisablePasswordExpiration"; newUser.Identities = new List <ObjectIdentity> { new ObjectIdentity { SignInType = "emailAddress", Issuer = "ICPCustomerPortal1.onmicrosoft.com", IssuerAssignedId = userModel.DisplayEmailName } }; GraphServiceClient graphClient = GraphClient.CreateGraphClient(); await graphClient.Users .Request() .AddAsync(newUser); return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); }; } return(View(userModel)); }