EnVisageOnline/Main/Source/TimeTracker/WebSites/TimeTracker1/TimeTracker/ImportProjectInfo.aspx.cs

126 lines
3.9 KiB
C#

using ASPNET.StarterKit.BusinessLogicLayer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
public partial class TimeTracker_ImportProjectInfo : System.Web.UI.Page
{
protected List<ImportProject> ImportProjectList
{
get
{
//look for current setting in ViewState
object o = this.ViewState["ImportProjectList"];
if (o == null)
return new List<ImportProject>();
else
return (List<ImportProject>) o;
}
set
{
this.ViewState["ImportProjectList"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
PageSecurity.CheckSecurity();
}
protected void Button1_Click(object sender, EventArgs e)
{
}
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
}
protected void AllCellsClicked(object sender, EventArgs e)
{
CheckBox headerCheckBox = (sender as CheckBox);
foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
{
(dataItem.FindControl("importProjCbx") as CheckBox).Checked = headerCheckBox.Checked;
dataItem.Selected = headerCheckBox.Checked;
}
this.importBtn.Enabled= headerCheckBox.Checked;
}
protected void RadAsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)
{
List<ImportProject> rt = new List<ImportProject>();
if (RadAsyncUpload1.UploadedFiles.Count > 0)
{
UploadedFile file = (UploadedFile) RadAsyncUpload1.UploadedFiles[0];
ParseResults<ImportProject> results=ImportProject.LoadProjects(file);
var projects = results.Data;
RadGrid1.DataSource = projects;
RadGrid1.DataBind();
ImportProjectList = projects;
Errors.Visible = false;
if (results.FailedRecords.Count > 0)
{
Errors.Visible = true;
string newline = "";
foreach (string msg in results.FailedRecords)
{
string lines = msg;
errorMsgsTbx.Text += newline + lines;
newline = Environment.NewLine;
}
}
}
prevuBtn.Enabled = false;
}
protected void RadButton1_Click(object sender, EventArgs e)
{
}
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem) e.Item;
CheckBox cbx = (CheckBox) item.FindControl("importProjCbx");
int rowindex = item.ItemIndex;
cbx.Attributes.Remove("onclick");
cbx.Attributes.Add("onclick", string.Format("return cellClicked(this,'{0}')", rowindex));
}
}
protected void importBtn_Click(object sender, EventArgs e)
{
CheckBox headerCheckBox = (sender as CheckBox);
bool allGood = true;
foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
{
if ((dataItem.FindControl("importProjCbx") as CheckBox).Checked)
{
string projectNumber=dataItem.Cells[4].Text;
ImportProject p=ImportProjectList.Where(x => x.ProjectNumber == projectNumber).FirstOrDefault();
bool ok= p.Save();
if (!ok)
{
allGood = false;
(dataItem.FindControl("importProjCbx") as CheckBox).BackColor = System.Drawing.Color.Red;
}
}
}
if (allGood)
{
RadWindowManager1.RadAlert("Your Projects have been imported!", 250, 100, "Project Import", "alertCallBackFn", "");
}
}
}