An overview of new features of MVC 6 for MVC Software companies

MVC, Web API and Web pages frameworks is merged into one framework called MVC 6. This is also open s

 

MVC, Web API and Web pages frameworks is merged into one framework called MVC 6. This is also open source framework and cross-platform compatible. This is supported on mono, Mac and Linux. MVC 6 has gained very high popularity among MVC software development companies in India in very short time. The architecture of the newly developed framework, MVC 6 is as below.

 

 

New features in MVC 6

  • System.Web.Dll dependency removed

    Removed the dependency of System.Web.Dll from MVC6 because it consumes 30k of memory per request and response, whereas MVC 6 only requires 2k of memory per request and the response consumes very small memory.

  • Single based Controller for MVC and Web API

    In MVC 6, there is only one Controller base class for both MVC and Web API Controller that is Microsoft.AspNet.Mvc.Controller. Controller class System.Web.MVC.Controller for MVC and  System.Web.Http.ApiController for web API are merged into one class.

    MVC 6 controllers return an IActionResult. When used as an MVC controller, the IActionResult is a view. When used as a Web API controller, the IActionResult is data such as a list of students etc. The same controller can have actions that return both views and data.

    In MVC 6, both MVC controllers and Web API controllers use the same routes. MVC software developer can use either convention-based routes or attribute routes and they apply to all controllers in a project.

  • Supports other hosts in addition to IIS
    One can host MVC5 on an IIS server and can be run on top of an ASP.NET Pipeline. On the other hand, MVC 6 is self-hosted and uses flexible pipeline that one can control completely over the components that are part of the pipeline.

  • Environment based configuration system

    The configuration system provides an environment to easily deploy the application on the cloud. An application works just like a configuration provider. It helps in retrieving the value from the various configuration sources like XML file. So now MVC software programmers do not need to depend on just Web.config.

  • New Roslyn Compiler
    Using the Roslyn Compiler, it automatically compiles the application code. MVC Programmer can edit a code file and can see the changes by refreshing the browser without stopping or rebuilding the project.

  • Cloud-optimized Applications
    MVC 6 is a part of ASP.NET 5 that is designed for cloud-optimized applications. It automatically picks the correct version of the library runtime when MVC is deployed to the cloud and session state and caching gets adjusted depending upon hosting environment.

  • Dependency injection
    Using the IServiceProvider interface, ASP.NET software programmer can easily add its own dependency injection container. One can replace the default implementation with his own container.

  • Supports OWIN
    We have complete control over the composable pipeline in MVC 6 applications. MVC 6 supports the OWIN abstraction.

  • Everything is packaged with NuGet
    The unit of reference in MVC 6 application is nuget package and not assembly unlike the previous version. Programmer just needs to add main nuget package and all the dependent nuget packages are added automatically by the framework.

  • Side-by-side deployment
    One can upload dependencies to the bin directory without affecting other apps on same server.

  • New JSON based project structure
    MVC 6 contains global.json,config.json,project.json for different-different Configuration.

 

Important components of an MVC6 application

  • Global.json
    It contains solution-level settings and project-to-project references.

  • src folder
    Source code for our web application.

  • Wwwroot
    This folder contains static files and all other files that web app serves directly to the clients, including HTML, CSS, and Image and JavaScript files.

  • Config.Json
    This file contains the application configuration in various places. MVC Programmer can define its application configuration, not just this file. Using the configuration value providers the correct configuration values are picked. There is no need to be concerned about how to connect to various sources to get the confutation value.

 

 

 

 Following code snippet explains how to add a connection string in the Config.json file.

Project.json

The “project.json” file serves as the new project file (.csproj/.vbproj).This file contains the project dependencies as well as the build information. This also contains the commands used by the application. Dependencies like loading external JavaScript library like jQuery, Knockout.js.

Project.json file provides intellisense for the available packages when developer adds or edits dependencies. All packages that one has added from this file are automatically pulled from NuGet and when one removes packages it automatically gets removed from project reference.

Startup.cs 
It is an entry point for the application. This file is used to define the environment for the application, e.g. Using MVC, Entity Framework, etc. By default the host looks for a Startup class with a Configure method that takes IApplicationBuilder as a parameter.

Defining the Request Pipeline
the Startup.cs contains a startup method.

The above code snippet creates an object of configuration class. We are adding the config.json and Environment variables as the source of configuration values. Also we can add other configuration sources that our application requires.

 Our application can fetch configuration values from different configuration sources as there are configuration value providers for different sources .So application does n't need to be concerned about the different sources of configuration. This is one reason that MVC 6 applications can be easily moved to cloud.

Code snippet to add the MVC framework in the pipeline

The code above is same as the old MVC for defining routes, except that the UseMvc method is used to setup the routes.

The AddMvc() basically adds the dependencies needed for MVC 6.

Understanding Controller in MVC 6

In MVC 6 the application does not need to be derived from the controller class. In controller there are many default functionalities. Most of the time one needs to derive from the controller class, but if one does not need access to all of the functionally provided by the controller class, one can define its own controller class.

Understanding Views in MVC 6

In MVC 6 view, developers have been provided with new attributes for Model binding. HTML Helper methods are used for generating UI elements like : @Html.EditorFor and Model binding are removed.

 

MVC 6 New Attribute

  • Asp-controller: Provides Controller Name
  • Asp-action : Provides Action Name of Controller class.
  • Asp-for : This attribute is used for Model Binding
  • Asp-validation-for :  This attribute is used for Model validation
  • Asp-validation-summary : This attribute is used to display the validation summary.

 

Top 10 useful Shopify apps for Shopify eCommerce Solution

Shopify is a Canadian hosted eCommerce platform for simple and safe online shopping requirements. It

 

Shopify is a Canadian hosted eCommerce platform for simple and safe online shopping requirements. It not only provides platform but also hosting services. Starting an online web store has never been so easy for eCommerce solution providers. Shopify offers many ready-made templates and themes, that one can select from and publish the store within short time. In fraction of time, one can start running an online store without worrying about underlining technology and maintenance. There may be some additional requirements that a standard Shopify may not be offering. Shopify AppStore comes to rescue for such requirements. There are plenty of apps, free and paid both, that user can readily use without investing in customization and development. We discuss ten such Shopify app that are very useful to Shopify eCommerce Solution Providers.

 

1) MailChimp for Shopify

MailChimp is very popular as email marketing solution. MailChimp for Shopify is an easy app that connects Shopify online store to your MailChimp account. MailChimp is the developer and distributor of this Shopify app. At checkout process, Shopify store asks customer to get new updates by subscribing to email newsletter.

  • This is free solution for Shopify stores
  • MailChimp is very popular email marketing solution that targets email based on customer buying behaviour.
  • It can turn customer sceptical about using their information and can make distance with your shop if it is overused.

 

2) Order Printer

Order Printer Shopify app helps shop owner to print order details, invoice, labels, and bills. This Shopify app is developed and distributed by Shopify.

  • Order Printer app is free
  • Easy to use app
  • Provides customer template support. One can create its own template using HTML.

 

3) Yotpo Reviews

Yotpo is the smartest solution for rating and site reviews. Shop owners can share their site reviews in marketing tools like Google AdWords, Facebook, Facebook Ads, Twitter, Instagram etc. It is developed and distributed by Yotpo. Yotpo is a user generated content marketing solution company.

  • Management of all marketing tools using single app
  • More traffic by sharing moore site reviews

  

4) Product Reviews

This Shopify app is to add product reviews in product page with an aim to drive more targeted traffic to your website and product pages. This is free and offered by Shopify.

  • Free app
  • Theme-friendly design
  • Easy installation, customization and changes
  • Easy installation
  • Import and export product review as spreadsheet
  • SEO friendly
  • Cannot comment or reply on customer review

 

5) Bulk Discounts

Bulk Discounts allows creation of large no. of discount for your store and it also offers discount codes for groupon. It is developed and distributed by Shopify.

  • Free Shopify app
  • Easy to manage regular products and discounts
  • Discount edition, deletion and management is quite easy in this app

 

6) AfterShip

AfterShip Shopify app is shipment tracking app for all shipments..AfterShip allows tracking the product till it is delivered. One can track all shipments in one place. This app is developed and distributed by AfterShip.

  • Supports almost 360+ Couriers in worldwide
  • Provides continuous updates about delivery status to customers
  • Email/SMS notification

 

7) SEO Image Optimizer by Booster Apps

This improves SEO of the website and helps driving natural and organic traffic to the website. Product images can easily be viewed in Google Image Search and helps in organic SEO. This is offered by Booster Apps.

  • Free Shopify App
  • Easy to install and use
  • Increase store and product search results

 

8) Better Coupon Box

When visitors first time visit the store, Better Coupon Box displays a beautiful responsive coupon popup to convert visitors to email subscriber and social followers. This helps in marketing campaigns. This is developed and distributed by Beeketing.

  • Free Shopify App
  • Easy to install and use
  • Supports 100% customizations

 

9) Tidio Live Chat

Tidio Live Chat increases interaction between client and shop owner. Customer seeking some information about your product can reach you instantly. Tidio provides live chat services. Tidio Ltd is the developer and distributor of this app.

  • Free and paid versions are available
  • Supports mobile devices
  • Multi-language support

 

10) McAfee SECURE

McAfee SECURE certificate provides trustmark for customer that they are safe in this store and they can order product and make transaction without worrying about the security. McAfee SECURE scans your site against viruses and malware.

  • Provides Trustmark for customers and visitors
  • It provides identity protection to shoppers
  • Provides security against malicious activities


Conclusion

Shopify eCommerce platform is an easy and low maintenance eCommerce solution. Shopify apps add more features to the online store. This is just indicative list of few Shopify apps that help users to enhance their online store. Shopify eCommerce solution providers can refer this for during online web store development.

 

 

Top 10 charting controls for DOT NET software development companies

In the era of information, data visualization play an important role in enhancing and making informa

 

In the era of information, data visualization plays an important role in enhancing and making information systems useful to decision makers. This allow important data to be visualized properly so that important concepts, information and analytics are made handy to end users. Charting controls are important for DOT NET software development companies while developing software with data visualization. PIE Chart, LINE Chart, BAR Chart, BUBBLE Chart, PYRAMID chart etc are some of the charts that helps display information meaningfully with analysis. The charting controls allow user with additional features like sorting, filtering, grouping, searching, merging, splitting and exporting data in required format.

In this article, we discuss about Top 10 chart controls that are very popular, feature rich and widely used by custom software companies in India to build information rich softwares.

1. LightningChart Ultimate

LightningChart Ultimate is the fastest, popular and widely used 2D and 3D measurement, financing, research and trading data visualization SDK for software development based on WinForms and WPF. LightningChart Ultimate is entirely GPU accelerated (Direct3D) and performance optimized data visualization control for presenting masses of data in 2D XY graph, 3D XYZ, polar, smith and 3D pie / donut views.

Pros Cons
Fastest rendering data visualization toolkit for .net framework Supports only Window and WPF Application
Short loading delays  
Better graphics quality  

 

2. Telerik RadChart

RadChart is an unrivalled and performance enhanced charting tool that helps developing next-generation software. It is highly feature rich with great data visualization capability and helps in better analysis of complex data. RadChat allows transformation of business data into animated charts and interactive UI. It is compatible with WPF.

Pros Cons
Supports multiple data sources Does not support scatter line chart
It does not require additional assemblies Server side click events
Better technical support  
Good performance from speed perspective  

 

3. DevExpress Chart

DevExpress charting tools are highly popular for data visualization that is concise and readable. XtraCharts suite is highly customization control library which is used for endless business scenarios. It is equally suitable for real-time charting or analysis of multi-dimensional data. DevExpress WPF chart control supports built-in animation effects, conditional appearance options and extended interactivity.

Pros Cons
Highly customization and flexible Comparatively slow
Good performance Do not manage rendering of web chart to the image
Numerous In-built supportive controls Used in WinForms control
Supports MVVM architecture  
Supports multiple data source  

 

4. Chart FX

This is a charting tool that supports .NET, HTML5, COM, WPF, Silverlight and SQL reporting services technologies. Chart FX is considered as one of the most powerful and versatile multi-platform tool for web and desktop software data visualization.

This provides software companies with advanced data visualization and analysis features with minimal integration effort. It enhances user interface and has ability to export the charts in various formats.

Pros Cons
Highly extensible Scalability and performance issue
Support multiple technology platforms  

 

5. Infragistics Chart

Infragistics chart is known to provide rich charts with less code. Infragistics Charts is Windows Forms Chart Control that renders a broad range of rich, high-fidelity chart types from familiar bar, line, area and pie to more complex financial, candle and radar charts. It helps building complex charts with series collections, chart area collections and chart layers collections.

Pros Cons
Easy-to-use Support only few chart like Data Chart, Doughnut Chart, Gantt Chart, Pie Chart
Highest quality visual appearance  
Handle real time feeds  

 

6. Microsoft Chart

Microsoft Chart controls enable software development companies to create Windows Forms applications with simple, intuitive, and visually compelling charts for complex statistical or financial analysis. Window form chart control support Zooming and scrolling.

Pros Cons
Well documented Does not support Cursors, Zooming, and Scrolling, Printing feature in web application
Ready code templates  
Ability to view controls in action  
Supports all chart types  
Support for AJAX click events  

 

7. Nevron Chart

Nevron Chart is the most leading charting control for DOT NET software companies. It can easily be integrated with WinForms, ASP.NET, WPF and ASP.NET MVC projects. Nevron chart covers 2D and 3D charting types and is suitable for profession, business, scientific, real time monitoring and other types of applications.

It only provides great data visualization but is complemented with interactive features like data zooming, panning, scrolling and hit testing.

Pros Cons
Fast performance It does not support all charting types
Highly robust tool with great controls  
Better image quality  
It is offering a free charting solution for WinForms, WPF, and ASP.NET, covering basic charting functionality  

 

8. SciChart Chart

SciChart chart type that provides good performance, unlimited multiple X/Y axis, interactive zooming and panning and rich annotations API. It supports about 25 chart types and is infinitely extendable CustomRenderableSeries. It also supports WPF 3D Chart Controls including Real-time WPF 3D Surface Mesh Chart, WPF 3D Point-Cloud Chart, WPF 3D Bubble Chart, WPF 3D Scatter Chart, 3D Column Chart etc.

Pros Cons
Reduces development costs Some weird internal exceptions in SciChart
  SciChartSurface and SciChartLegend are separated control you can’t save them to same bitmap

 

9. Highcharts

Highcharts is a JavaScript library based charting tool for software. It provides many pre-built graphs like spline, area, areaspline, column, bar, pie, scatter etc. Highcharts is a charting library written in pure JavaScript and it offers an easy way of adding interactive charts to web site or web application.

 It has very simple API that is easy to learn and also light weighted. It allows user to use entire framework or selective modules as required. It is inspired by ReactJS, AngularJS, KnockoutJS and also supports two-way binding to get synchronized model and view.

Pros Cons
Light weight charting tool It supports only web application
Highcharts JS is compatible with older browsers as well like IE6, etc. Axis labels may overlap if long enough
Highly customizable No support for custom graphics and text in the generated charts.
Numerous chart types and the ability to combine them in one document  
Availability of charts in any of the following formats: pdf, png, jpg, svg.  

 

10. Fusion Chart

Fusion Charts is a paid charting JavaScript library and renders charts out of the box. It accepts input parameters and returns the chart as output. It is fairly easy to integrate this library with other libraries, frameworks and languages.

Pros Cons
Supports only web application Complex customization
Can be used to handle large scale projects  

Conclusion:

Chart controls helps in enhancing user interface and data visualization in most meaningful way. It is difficult to tag any charting tool as the best. Choice of charting tool by DOT NET software companies depends on project requirements, back-end technology, charting performance, cost and many other parameters. This list is an indicative list that a DOT NET software company can use to select.

Estimated sales report generation through Amazon API (MWS – Marketplace API)

What is MWS MWS (MarketPlace Web Service) is a specific service for people who sell on Amazon.com. I

Software outsourcing companies India

What is MWS?

MWS (MarketPlace Web Service) is a specific service for people who sell on Amazon.com. It provides sellers with an API through which they can access their Amazon account from within their own computing systems.

The Amazon Marketplace Web Service (Amazon MWS) Fulfilment API sections include operations that allow sellers to access Amazon’s services through a simple web service interface and can build innovative web or desktop software for better analysis and decision making taking help of custom software companies.

MWS helps sellers to automate orders, listings, reports, payments and many more features. Seller can integrate Amazon marketplace into their current applications and workflow by exchanging data.

For everyone Amazon storefront enabled with MWS, there are 4 different keys that tell Amazon exactly which store you’re uploading data to. These are :

  • AccessKeyId
  • SecretAccessKeyId
  • MerchantId
  • MarketplaceId

What is Estimated Sales Report?

Estimated Sales Report is used for getting the list of items that are sold on amazon even though there settlement report are not yet generated. The settlement report is generated after 15 days so it is not possible to calculate profit/loss real time. Estimated Sales Report comes to rescue here. It helps to generate sales report real time.

Process for using Amazon API to generate Estimated Sales Report

  • First step is to call ReportRequest method from MWS. Start_Date and End_Date are passed as parameter. Default value is current date and time. This returns the data from where the last settlement report was generated. This method will return the ReportRequestId List.
  • Second step is to call the GetReportRequestList method recursively until the ReportRequestId field has status “_DONE_”. When we get the matched status for the ReportRequestId, it returns the List of GeneratedReportId.
  • Check that the GeneratedReportId is present in our system to avoid duplicate entry and use GetReportRequest method to generate the report. If the GeneratedReportId is not present in the system we use the GetReportRequest and we  pass GeneratedReportId as the parameter. It returns data in XML format.
  • Deserialize the output to get desired output. Use that data and save it in the system. Developers allow this function to run automatically every hour to receive latest data regularly. Profit/loss report thus generated is more accurate and latest.
  • The Estimate sales report includes recent orders regardless of whether they have been shipped. Estimated sales report provides important information like amazon order id, the selling price, Amazon service charges, title of the item, ASIN of the item, status of the item (i.e shipped, unshipped, cancelled or pending), the date and time of the item sold and the sellerSku of the item. SellerSku provides information on which customer has scanned the item for selling the item to the amazon.

Process flow diagram

Conclusion

Estimated sales report provides very important information about items that are sold through Amazon regularly. This provides analytical information for better decision making and provides these information real time making it very useful to sellers. Real time profit/loss information, customer information, sales information becomes handy.

 

Managing shipment process using Amazon API (MWS – Marketplace Web Service)

Are you managing online store and wondering how Amazon API can help software development companies t

Software outsourcing companies India

 

Are you managing online store and wondering how Amazon API can help software development companies to manage shipment process? Amazon provides Marketplace Web Service that can assist you managing shipment process in your web application or portal programmatically.

Diagram depicts the complete shipment process from creating a listing through downloading the labels using MWS.

Step 1 - Create a listing

Before sending an item to the Amazon Fulfillment Network (AFN), programmer needs to create a listing in Amazon's catalog. This is true regardless of whether or not one intends to sell on Amazon's web site or through other sales channels. It is mandatory to mark items as AFN i.e. Amazon Fulfillment Network that tags an item to be fulfilled by Amazon. SubmitFeed operation of the Feeds API is used to mark an item as AFN.

 Step 2 – Create an inbound shipment plan

CreateInboundShipmentPlan operation of the Inbound Shipment API is used to create an inbound shipment plan. An inbound shipment plan groups into discrete shipments the items to be sent to the Amazon Fulfillment Network.

By submitting the CreateInboundShipmentPlan operation, Amazon is provided with key information about the items to be sent. In this operation list of sellerSku, quantity, ASIN, condition of the item and the from-address are sent.

Amazon uses this information to create a shipment plan for items, which is returned after Amazon receives the CreateInboundShipmentPlan operation. Programmer uses the shipment plan to group and send items to the appropriate Amazon fulfillment centers. As an output it will return the to-address for the shipment, FCCD, the shipmentId, the FnskuName of the item and the quantity of the item to ship.

Step 3 – Create / Update inbound shipment

For each shipment returned by the CreateInboundShipmentPlan operation, create an inbound shipment. An inbound shipment is created by submitting the CreateInboundShipment / UpdateInboundShipment operation of the Inbound Shipment API section.

 One should check for the to-address given by inbound shipment plan, to check for any active shipment on the same address. If the active shipment is not present then the CreateInboundShipment operation is used and if the active shipment is there, then the UpdateInboundShipment operation is used.

The shipmentId, FCCD, to-address generated by inbound shipment plan, and also the list of sellerSku and the quantity of each sellerSku as passed to Amazon API.  On inbound shipment creation/updation, indicates to Amazon are created to denote arrival of items to AFC (Amazon fulfillment center).

Step 4 – Transport Shipment

Before sending the shipment in the transport state, developer needs to specify the shipment box weight, height, width and length and then we can mark the shipment in the transport state. Here we need to keep in mind that the weight and dimension of the box specified must be correct, if there is difference then the shipment will we canceled and if this type of mistake occurs frequently then your account might be blocked by the amazon.

Step 5 – Estimating Shipment

When the shipment is successfully transported then the next step is to estimate the shipment, means to calculate the cost of the shipment based on the weight and the dimension of the shipment box. For calculating the shipment cost GetTransportContent operation is used.

Step 6 – Confirm Estimate Shipment Cost

User decides whether calculated cost is feasible for him or not. If the user confirms the cost, the shipment is marked as shipped and the user needs to pay to the Amazon. If the user cancels, shipment is not shipped and stays in the estimated status and user needs to pay that shipment until he confirms the shipment cost.

Step 7 – Download Shipment Label

Use the GetUniquePackageLabel operation to request unique shipping labels for your inbound shipments. This option is active once shipment is confirmed. User receives PDF file with all details regarding shipment.  Download shipment label option is available for each shipment created by User on confirmation. User can also download this shipment label even after a week or month of his shipment process. This helps to ensure that the shipment is processed at the Amazon fulfillment center quickly and accurately.