Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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));
        }
Example #4
0
        /// <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));
        }
Example #5
0
 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();
 }
Example #6
0
        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);
                    }
                };
            }
        }