/// <summary> /// Gets the salesorder list. /// </summary> /// <param name="responce">The responce.</param> /// <returns>SalesorderList.</returns> /// <exception cref="System.NotImplementedException"></exception> internal static SalesorderList getSalesorderList(HttpResponseMessage responce) { var salesorderList = new SalesorderList(); var jsonObject = JsonConvert.DeserializeObject <Dictionary <string, object> >(responce.Content.ReadAsStringAsync().Result); if (jsonObject.ContainsKey("salesorders")) { var salesordersArray = JsonConvert.DeserializeObject <List <object> >(jsonObject["salesorders"].ToString()); foreach (var salesorderObj in salesordersArray) { var salesorder = new Salesorder(); salesorder = JsonConvert.DeserializeObject <Salesorder>(salesorderObj.ToString()); salesorderList.Add(salesorder); } } if (jsonObject.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject <PageContext>(jsonObject["page_context"].ToString()); salesorderList.page_context = pageContext; } return(salesorderList); }
/// <summary> /// Gets the salesorder. /// </summary> /// <param name="responce">The responce.</param> /// <returns>Salesorder.</returns> internal static Salesorder getSalesorder(HttpResponseMessage responce) { var salesorder = new Salesorder(); var jsonObject = JsonConvert.DeserializeObject <Dictionary <string, object> >(responce.Content.ReadAsStringAsync().Result); if (jsonObject.ContainsKey("salesorder")) { salesorder = JsonConvert.DeserializeObject <Salesorder>(jsonObject["salesorder"].ToString()); } return(salesorder); }
/// <summary> /// Updates the specified salesorder_id. /// </summary> /// <param name="salesorder_id">The salesorder_id.</param> /// <param name="update_info">The update_info.</param> /// <param name="parameters">The parameters.</param> /// <returns>Salesorder.</returns> public Salesorder Update(string salesorder_id, Salesorder update_info, Dictionary <object, object> parameters) { string url = baseAddress + "/" + salesorder_id; var json = JsonConvert.SerializeObject(update_info); if (parameters == null) { parameters = new Dictionary <object, object>(); } parameters.Add("JSONString", json); var responce = ZohoHttpClient.put(url, getQueryParameters(parameters)); return(SalesorderParser.getSalesorder(responce)); }
/// <summary> /// Creates the specified new_salesorder_info. /// </summary> /// <param name="new_salesorder_info">The new_salesorder_info.</param> /// <param name="parameters">The parameters.</param> /// <returns>System.String.</returns> public Salesorder Create(Salesorder new_salesorder_info, Dictionary <object, object> parameters) { var url = baseAddress; var json = JsonConvert.SerializeObject(new_salesorder_info); if (parameters == null) { parameters = new Dictionary <object, object>(); } parameters.Add("JSONString", json); var responce = ZohoHttpClient.post(url, getQueryParameters(parameters)); return(SalesorderParser.getSalesorder(responce)); }
static void Main(string[] args) { try { var service = new ZohoBooks(); service.initialize("{authtoken}", "{organization id}"); var salesOrdersApi = service.GetSalesordersApi(); Console.WriteLine("------------------ SalesOrders -------------"); var salesOrders = salesOrdersApi.GetSalesorders(null); foreach (var tempSalesOrder in salesOrders) { Console.WriteLine("Id:{0},date:{1},customerName:{2},status:{3},Amount:{4}", tempSalesOrder.salesorder_id, tempSalesOrder.date, tempSalesOrder.customer_name, tempSalesOrder.status, tempSalesOrder.total); } Console.WriteLine("--------------------Specified SalesOrder----------------------"); var salesOrder = salesOrdersApi.Get(salesOrders[0].salesorder_id, null); Console.WriteLine("Id:{0},date:{1},customerName:{2},status:{3},Amount:{4}", salesOrder.salesorder_id, salesOrder.date, salesOrder.customer_name, salesOrder.status, salesOrder.total); Console.WriteLine("Line Items"); var lineitems = salesOrder.line_items; foreach (var tempLineitem in lineitems) { Console.WriteLine("Id:{0},name:{1},rate:{2}", tempLineitem.line_item_id, tempLineitem.name, tempLineitem.rate); } Console.WriteLine("--------------------New SalesOrder----------------------"); var newSalesOrderInfo = new Salesorder() { customer_id = salesOrders[0].customer_id, line_items = new List <LineItem> { new LineItem { item_id = lineitems[0].item_id, }, }, }; var newSalesOrder = salesOrdersApi.Create(newSalesOrderInfo, null); Console.WriteLine("Id:{0},date:{1},customerName:{2},status:{3},Amount:{4}", newSalesOrder.salesorder_id, newSalesOrder.date, salesOrder.customer_name, newSalesOrder.status, newSalesOrder.total); Console.WriteLine("Line Items"); var newLineitems = salesOrder.line_items; foreach (var tempLineitem in newLineitems) { Console.WriteLine("Id:{0},name:{1},rate:{2}", tempLineitem.line_item_id, tempLineitem.name, tempLineitem.rate); } Console.WriteLine("--------------------Updated SalesOrder----------------------"); var updateInfo = new Salesorder() { line_items = new List <LineItem> { new LineItem { item_id = lineitems[0].item_id, rate = 150, }, }, }; var updatedSalesOrder = salesOrdersApi.Update(newSalesOrder.salesorder_id, updateInfo, null); Console.WriteLine("Id:{0},date:{1},customerName:{2},status:{3},Amount:{4}", updatedSalesOrder.salesorder_id, updatedSalesOrder.date, updatedSalesOrder.customer_name, updatedSalesOrder.status, updatedSalesOrder.total); Console.WriteLine("Line Items"); var updatedLineitems = salesOrder.line_items; foreach (var tempLineitem in updatedLineitems) { Console.WriteLine("Id:{0},name:{1},rate:{2}", tempLineitem.line_item_id, tempLineitem.name, tempLineitem.rate); } Console.WriteLine("--------------------Delete SalesOrder----------------------"); var deleteMsg = salesOrdersApi.Delete(updatedSalesOrder.salesorder_id); Console.WriteLine(deleteMsg); Console.WriteLine("--------------------Mark SalesOrder as Open----------------------"); var markAsOpen = salesOrdersApi.MarkAsOpen(salesOrders[0].salesorder_id); Console.WriteLine(markAsOpen); Console.WriteLine("--------------------Mark SalesOrder as Void----------------------"); var markAsVoid = salesOrdersApi.MarkAsVoid(salesOrders[0].salesorder_id); Console.WriteLine(markAsVoid); Console.WriteLine("--------------------Email A SalesOrder----------------------"); var emailDetails = new EmailNotification() { to_mail_ids = new List <string>() { "*****@*****.**", }, subject = "test sub", body = "body-test" }; var emailOrder = salesOrdersApi.SendEmail(salesOrders[1].salesorder_id, emailDetails, null); Console.WriteLine(emailOrder); Console.WriteLine("--------------------Email Content of SalesOrder----------------------"); var emailData = salesOrdersApi.GetEmailContent(salesOrders[1].salesorder_id, null); Console.WriteLine("Body:{0}\nSub:{1}\nTemplate Id{2}", emailData.body, emailData.subject, emailData.emailtemplates[0].email_template_id); Console.WriteLine("--------------------Bulk Export----------------------------"); var salesorderIds = new List <string> { salesOrders[0].salesorder_id, }; var bulkExport = salesOrdersApi.BulkExportSalesorders(salesorderIds); Console.WriteLine(bulkExport); Console.WriteLine("--------------------Bulk Print----------------------------"); var bulkPrint = salesOrdersApi.BulkExportSalesorders(salesorderIds); Console.WriteLine(bulkPrint); var addr_info = new Address() { city = "test-city", country = "test-country" }; Console.WriteLine("--------------------Update BillingAddress----------------------------"); var updatedBillingAddr = salesOrdersApi.UpdateBillingAddress(salesOrders[0].salesorder_id, addr_info); Console.WriteLine("city:{0},state:{1}", updatedBillingAddr.city, updatedBillingAddr.country); Console.WriteLine("--------------------Update ShippingAddress----------------------------"); var updatedShippingAddr = salesOrdersApi.UpdateShippingAddress(salesOrders[0].salesorder_id, addr_info); Console.WriteLine("city:{0},state:{1}", updatedShippingAddr.city, updatedShippingAddr.country); Console.WriteLine("---------------------Templates-------------------"); var templates = salesOrdersApi.GetTemplates(); foreach (var template in templates) { Console.WriteLine("id:{0},name:{1}", template.template_id, template.template_name); } Console.WriteLine("-----------------------Update Template----------------"); var updatedTemplate = salesOrdersApi.UpdateTemplate(salesOrders[0].salesorder_id, templates[0].template_id); Console.WriteLine(updatedTemplate); Console.WriteLine("-------------------------Attachments-----------------"); var getAttachment = salesOrdersApi.GetAttachment(salesOrders[1].salesorder_id, null); Console.WriteLine(getAttachment); var addAttachment = salesOrdersApi.AddAttachment(salesOrders[0].salesorder_id, @"C:\Users\hari-2197\Desktop\h.jpg", null); Console.WriteLine(addAttachment); var attachPreference = new Dictionary <object, object>(); attachPreference.Add("can_send_in_mail", true); var updatedAttachPreference = salesOrdersApi.UpdateAttachmentPreference(salesOrders[0].salesorder_id, attachPreference); Console.WriteLine(updatedAttachPreference); var delAttachment = salesOrdersApi.DeleteAnAttachment(salesOrders[0].salesorder_id); Console.WriteLine(delAttachment); Console.WriteLine("-------------------------Comments-----------------"); var comments = salesOrdersApi.GetComments(salesOrders[0].salesorder_id); Console.WriteLine("All Comments"); foreach (var comment in comments) { Console.WriteLine("id:{0},description:{1},commented by:{2}", comment.comment_id, comment.description, comment.commented_by); } var newCommentInfo = new Comment() { description = "new test comment", }; var newComment = salesOrdersApi.AddComment(salesOrders[0].salesorder_id, newCommentInfo); Console.WriteLine("id:{0},description:{1},commented by:{2}", newComment.comment_id, newComment.description, newComment.commented_by); var commentUpdateInfo = new Comment() { description = "updated-test" }; var updatedComment = salesOrdersApi.UpdateComment(salesOrders[0].salesorder_id, newComment.comment_id, commentUpdateInfo); Console.WriteLine("id:{0},description:{1},commented by:{2}", updatedComment.comment_id, updatedComment.description, updatedComment.commented_by); var deleteComment = salesOrdersApi.DeleteComment(salesOrders[0].salesorder_id, updatedComment.comment_id); Console.WriteLine(deleteComment); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }
public ApprovalViewModel(StyleHeaderViewModel styleViewModel) { TempStyleViewModel = styleViewModel; Perm = 301; if (!DesignerProperties.IsInDesignTool) { User = LoggedUserInfo.Iserial; Salesorder = styleViewModel.SelectedDetailRow.Iserial; var approvalTypeService = new CRUD_ManagerServiceClient(); approvalTypeService.GetGenericAsync("TblApprovalTypes", "%%", "%%", "%%", "Iserial", "ASC"); approvalTypeService.GetGenericCompleted += (s, sv) => { var tblUserBrandSection = LoggedUserInfo.UserBrandSection.FirstOrDefault( x => x.BrandCode == styleViewModel.SelectedMainRow.Brand && x.TblLkpBrandSection == styleViewModel.SelectedMainRow.TblLkpBrandSection); switch (styleViewModel.SelectedDetailRow.SalesOrderType) { case (int)SalesOrderType.SalesOrderPo: Perm = 303; break; } if (tblUserBrandSection != null) { ApprovalTypesList = sv.Result; var userPerm = tblUserBrandSection.TblUserBrandSectionPermissions.SingleOrDefault( x => x.TblAuthPermission == Perm); if (userPerm != null) { if (!userPerm.Retail) { var tempRow = sv.Result.SingleOrDefault(x => x.Code == "Retail"); ApprovalTypesList.Remove(tempRow); } if (!userPerm.Financial) { var tempRow = sv.Result.SingleOrDefault(x => x.Code == "Financial"); ApprovalTypesList.Remove(tempRow); } if (!userPerm.Technical) { var tempRow = sv.Result.SingleOrDefault(x => x.Code == "Technical"); ApprovalTypesList.Remove(tempRow); } } else { ApprovalTypesList.Clear(); } } if (ApprovalTypesList != null && ApprovalTypesList.Count > 0) { GetMaindata(); } }; MainRowList = new ObservableCollection <TblApprovalViewModel>(); SelectedMainRow = new TblApprovalViewModel(); Client.GetTblApprovalCompleted += (s, sv) => { if (sv.Error != null) { MessageBox.Show(sv.Error.Message); } foreach (var row in sv.Result) { var newrow = new TblApprovalViewModel(); newrow.InjectFrom(row); newrow.ApprovalPerRow.InjectFrom(row.TblApprovalType); newrow.UserPerRow = row.TblAuthUser1; MainRowList.Add(newrow); } foreach (var row in ApprovalTypesList) { if (row.Iserial == 1 && !styleViewModel.SelectedDetailRow.IsRetailApproved || row.Iserial == 2 && !styleViewModel.SelectedDetailRow.IsFinancialApproved || row.Iserial == 3 && !styleViewModel.SelectedDetailRow.IsTechnicalApproved ) { AddNewMainRow(row); } } Loading = false; }; ProductionClient.GetTblUsersApprovalStatusAsync(LoggedUserInfo.Iserial); ProductionClient.GetTblUsersApprovalStatusCompleted += (s, sv) => { ApprovalStatusList.Clear(); foreach (var item in sv.Result.ToList()) { ApprovalStatusList.Add(new GenericTable().InjectFrom(item) as GenericTable); } }; Client.UpdateOrInsertTblApprovalCompleted += (s, x) => { Salesorder.InjectFrom(x.Result.TblSalesOrder); var savedRow = (TblApprovalViewModel)MainRowList.GetItemAt(x.outindex); if (savedRow != null) { savedRow.InjectFrom(x.Result); } OnApproveCompleted(); TempStyleViewModel.Loading = false; Loading = false; }; Client.DeleteTblApprovalCompleted += (s, ev) => { if (ev.Error != null) { throw ev.Error; } var oldrow = MainRowList.FirstOrDefault(x => x.Iserial == ev.Result); if (oldrow != null) { MainRowList.Remove(oldrow); } }; } }