126 lines
3.9 KiB
C#
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", "");
|
|
|
|
}
|
|
}
|
|
} |