public void ReplaceModel(string filename, string itemToReplace)
        {
            var definition = GetBytesFromFile(filename);

            var visibleName = Path.GetFileName(itemToReplace);

            var datasource = RsFacade.GetReportDatasources(itemToReplace);

            var dependantItems = RsFacade.ListDependantItems(itemToReplace);

            RsFacade.DeleteItem(itemToReplace);

            var destinationFolder = Path.GetDirectoryName(itemToReplace)
                                    .Replace('\\', '/');


            RsFacade.CreateModel(visibleName, destinationFolder, definition, null);

            if (datasource != null && datasource.Count > 0)
            {
                RsFacade.SetItemDataSources(itemToReplace, datasource[0]);
            }

            UpdateDatasourceForDependantItems(dependantItems, itemToReplace);

            toolStripStatusLabel.Text = String.Format("Uploaded item {0}", Path.GetFileName(filename));
            Application.DoEvents();
        }