示例#1
0
        public static List <ScheduleDetailDataModel> GetEntityDetails(ScheduleDetailDataModel dataQuery, RequestProfile requestProfile, int returnAuditInfo = BaseDataManager.ReturnAuditInfoOnDetails)
        {
            const string sql = @"dbo.ScheduleDetailSearch ";

            var parameters =
                new
            {
                AuditId            = requestProfile.AuditId
                , ApplicationId    = requestProfile.ApplicationId
                , ScheduleDetailId = dataQuery.ScheduleDetailId
                , ScheduleId       = dataQuery.ScheduleId
                , PersonId         = dataQuery.PersonId
                , FromSearchDate   = dataQuery.FromSearchDate
                , ToSearchDate     = dataQuery.ToSearchDate
                , Message          = dataQuery.Message
                , ScheduleDetailActivityCategoryId = dataQuery.ScheduleDetailActivityCategoryId
                , WorkTicket        = dataQuery.WorkTicket
                , CreatedDate       = dataQuery.CreatedDate
                , ModifiedDate      = dataQuery.ModifiedDate
                , CreatedByAuditId  = dataQuery.CreatedByAuditId
                , ModifiedByAuditId = dataQuery.ModifiedByAuditId
                ,
                ReturnAuditInfo = returnAuditInfo
            };

            List <ScheduleDetailDataModel> result;

            using (var dataAccess = new DataAccessBase(DataStoreKey))
            {
                result = dataAccess.Connection.Query <ScheduleDetailDataModel>(sql, parameters, commandType: CommandType.StoredProcedure).ToList();
            }

            return(result);
        }
示例#2
0
        public static int Create(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            var sql = Save(data, requestProfile, "Create");
            var id  = DBDML.RunScalarSQL("ScheduleDetail.Insert", sql, DataStoreKey);

            return(Convert.ToInt32(id));
        }
示例#3
0
        public override int?Save(string action)
        {
            var data = new ScheduleDetailDataModel();

            data.ScheduleDetailId = ScheduleDetailId;
            data.ScheduleId       = ScheduleId;
            data.InTime           = InTime;
            data.OutTime          = OutTime;
            data.WorkTicket       = WorkTicket;
            data.Message          = Message;
            data.ScheduleDetailActivityCategoryId = ScheduleDetailActivityCategoryId;

            //if (chkSendEmail.Checked)
            //{
            //	//Save Data & Send Email
            //	string fromEmail = ConfigurationManager.AppSettings["fromEmail"];
            //	ScheduleDetailId = InsertOrUpdate(data, action);
            //	//SendMail(data.ScheduleId, txtEmailAddress.Text, txtCCAddress.Text, fromEmail, SessionVariables.RequestProfile);
            //}
            //else
            //{
            //	//Save Data Only
            //	ScheduleDetailId = InsertOrUpdate(data, action);
            //}
            //// not correct ... when doing insert, we didn't get/change the value of ScheduleID ?
            return(ScheduleDetailId);
        }
示例#4
0
        private static string Save(ScheduleDetailDataModel data, RequestProfile requestProfile, string action)
        {
            var sql = "EXEC ";

            FormatData(data);

            switch (action)
            {
            case "Create":
                sql += "dbo.ScheduleDetailInsert  " +
                       " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) +
                       ", " + ToSQLParameter(BaseDataModel.BaseDataColumns.ApplicationId, requestProfile.ApplicationId);
                break;

            case "Update":
                sql += "dbo.ScheduleDetailUpdate  " +
                       " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) +
                       ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleDetailId);
                break;

            default:
                break;
            }

            sql = sql + ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleId) +
                  ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.Message) +
                  ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategoryId) +
                  ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.WorkTicket) +
                  ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.InTime) +
                  ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.OutTime);

            return(sql);
        }
示例#5
0
        protected void gvScheduleDetails_Updating(object sender, GridViewUpdateEventArgs e)
        {
            var lblScheduleDetailID = (Label)gvScheduleDetails.Rows[e.RowIndex].FindControl("lblScheduleDetailId");
            var lblEditScheduleId   = (Label)gvScheduleDetails.Rows[e.RowIndex].FindControl("lblScheduleId");
            var drpScheduleDetailActivityCategory = (DropDownList)gvScheduleDetails.Rows[e.RowIndex].FindControl("drpScheduleDetailActivityCategory");
            var txtEditInTime  = (TextBox)gvScheduleDetails.Rows[e.RowIndex].FindControl("txtEditInTime");
            var txtEditOutTime = (TextBox)gvScheduleDetails.Rows[e.RowIndex].FindControl("txtEditOutTime");
            var txtWorkTicket  = (TextBox)gvScheduleDetails.Rows[e.RowIndex].FindControl("txtWorkTicket");
            var txtEditMessage = (TextBox)gvScheduleDetails.Rows[e.RowIndex].FindControl("txtEditMessage");
            var lblCreatedDate = (Label)gvScheduleDetails.Rows[e.RowIndex].FindControl("txtEditCreatedDate");

            var data = new ScheduleDetailDataModel();

            data.ScheduleDetailId = Convert.ToInt32(lblScheduleDetailID.Text);
            data.ScheduleId       = Convert.ToInt32(lblEditScheduleId.Text);
            data.ScheduleDetailActivityCategoryId = Convert.ToInt32(drpScheduleDetailActivityCategory.SelectedValue);

            var dtInTime = Convert.ToDateTime(txtEditInTime.Text.Trim());

            data.InTime = DateTime.Parse(dtInTime.ToString("t"), null);

            var dtOutTime = Convert.ToDateTime(txtEditOutTime.Text.Trim());

            data.OutTime = DateTime.Parse(dtOutTime.ToString("t"), null);

            data.WorkTicket  = txtWorkTicket.Text.Trim();
            data.Message     = txtEditMessage.Text;
            data.CreatedDate = DateTime.Parse(lblCreatedDate.Text);

            ScheduleDetailDataManager.Update(data, SessionVariables.RequestProfile);
            GetData(Convert.ToInt32(lblEditScheduleId.Text));
            gvScheduleDetails.EditIndex = -1;
            gvScheduleDetails.DataBind();
        }
示例#6
0
        private string GetJiraWorkHours(string jiraKey, DateTime workDate, int personId)
        {
            string workHours = string.Empty;

            if (!string.IsNullOrEmpty(jiraKey) && jiraKey != "N/A")
            {
                var data = new ScheduleDetailDataModel();
                if (personId == 0)
                {
                    data.WorkTicket   = jiraKey;
                    data.ToSearchDate = workDate;   // toDate is WorkDate, so we can find the total hours developer worked on that issue upto that date.
                }
                else
                {
                    data.WorkTicket   = jiraKey;
                    data.PersonId     = personId;
                    data.ToSearchDate = workDate;   // toDate is WorkDate, so we can find the total hours developer worked on that issue upto that date.
                }

                var dt = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile);
                if (dt != null && dt.Rows.Count > 0)
                {
                    // get count
                    workHours = (from row in dt.AsEnumerable()
                                 select Convert.ToDecimal(row["DateDiffHrs"])).Sum().ToString("0.00");
                }
            }

            return(workHours);
        }
示例#7
0
        protected override void ShowData(int scheduleDetailId)
        {
            base.ShowData(scheduleDetailId);

            oDetailButtonPanel.SetId = SetId;

            Clear();

            var data = new ScheduleDetailDataModel();

            data.ScheduleDetailId = scheduleDetailId;

            var items = ScheduleDetailDataManager.GetEntityDetails(data, SessionVariables.RequestProfile);

            if (items.Count == 1)
            {
                var item = items[0];

                lblScheduleDetailId.Text = item.ScheduleDetailId.ToString();
                lblScheduleId.Text       = item.ScheduleId.ToString();
                lblInTime.Text           = String.Format("{0:t}", item.InTime);
                lblOutTime.Text          = String.Format("{0:t}", item.OutTime);
                lblMessage.Text          = item.Message;
                lblWorkTicket.Text       = item.WorkTicket;
                lblScheduleDetailActivityCategory.Text = item.ScheduleDetailActivityCategory;
                lblCreatedByAuditId.Text  = item.CreatedByAuditId.ToString();
                lblModifiedByAuditId.Text = item.ModifiedByAuditId.ToString();
                lblCreatedDate.Text       = item.CreatedDate.Value.ToString(SessionVariables.UserDateFormat);
                lblModifiedDate.Text      = item.ModifiedDate.Value.ToString(SessionVariables.UserDateFormat);

                oUpdateInfo.LoadText(item.UpdatedDate, item.UpdatedBy, item.LastAction);

                oHistoryList.Setup(PrimaryEntity, scheduleDetailId, "ScheduleDetail");
            }
        }
示例#8
0
        public static DataTable Search(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            var list = GetEntityDetails(data, requestProfile, 0);

            var table = list.ToDataTable();

            return(table);
        }
示例#9
0
        private void BindData()
        {
            if (XAxisColumn != YAxisColumn)
            {
                var objModel = new ScheduleDetailDataModel();

                if (drpPersons.SelectedValue != "-1")
                {
                    objModel.PersonId = Convert.ToInt32(drpPersons.SelectedValue);
                }

                if (drpWorkCategory.SelectedValue != "-1")
                {
                    objModel.ScheduleDetailActivityCategoryId = Convert.ToInt32(drpWorkCategory.SelectedValue);
                }

                objModel.FromSearchDate = oDateRange.FromDate;
                objModel.ToSearchDate   = oDateRange.ToDate;
                objModel.Message        = txtMessage.Text.Trim();

                var dt = ScheduleDetailDataManager.Search(objModel, SessionVariables.RequestProfile);

                if (dt.Rows.Count > 0)
                {
                    var xValues = (from row in dt.AsEnumerable()
                                   select row[XAxisColumn].ToString().Trim())
                                  .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList();

                    var yValues = (from row in dt.AsEnumerable()
                                   select row[YAxisColumn].ToString().Trim())
                                  .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList();

                    var tableElement = new HtmlGenericControl("table");
                    tableElement.Attributes["class"] = "table table-bordered";

                    AddHeaderRow(xValues, tableElement, dt);

                    foreach (var yValue in yValues)
                    {
                        var yTextValue = yValue;
                        if (YAxisColumn != YAxisColumnText)
                        {
                            yTextValue = (from row in dt.AsEnumerable()
                                          where row[YAxisColumn].ToString() == yValue
                                          select row[YAxisColumnText].ToString()).First();
                        }
                        AddDetailRow(yValue, yTextValue, xValues, dt, tableElement);
                    }

                    if (AggeregateVisibility == "xAxis" || AggeregateVisibility == "Both")
                    {
                        AddAggeregateRow(xValues, dt, tableElement);
                    }

                    contentHolder.Controls.Add(tableElement);
                }
            }
        }
示例#10
0
        public List <ResultSet> GetWorkCategoryDetails(int appUserId)
        {
            var appUser = new ScheduleDataModel();

            appUser.PersonId = appUserId;
            var category = string.Empty;

            var result       = new ArrayList();
            var fromDateTime = new DateTime();
            var toDateTime   = new DateTime();


            fromDateTime = Convert.ToDateTime(DateTimeHelper.FromUserDateFormatToApplicationDateFormat(oDateRange.FromDateTime));
            toDateTime   = Convert.ToDateTime(DateTimeHelper.FromUserDateFormatToApplicationDateFormat(oDateRange.ToDateTime));

            var format          = SessionVariables.UserDateFormat;
            var fromDate        = fromDateTime.ToString(format);
            var toDate          = toDateTime.ToString(format);
            var scheduleDetails = new ScheduleDetailDataModel();

            appUser.FromSearchDate = Convert.ToDateTime(fromDate);
            appUser.ToSearchDate   = Convert.ToDateTime(toDate);

            var resultList = new List <ResultSet>();
            var data       = new CustomTimeLogDataModel();

            data.PersonId       = appUserId;
            data.FromSearchDate = Convert.ToDateTime(fromDate);
            data.ToSearchDate   = Convert.ToDateTime(toDate);
            var list = CustomTimeLogDataManager.GetWorkCategoryList(data, SessionVariables.RequestProfile);

            var categoryDetails = list[0].Category;
            var week            = list[0].Week;
            var value           = list[0].Value;
            var weekCount       = 0;

            for (var i = 0; i < list.Count; i++)
            {
                var resultSet = new ResultSet("", "", 0);
                if (week.Equals(list[i].Week))
                {
                    resultSet.Category = list[i].Category;
                    resultSet.Value    = list[i].Value;
                    resultSet.Week     = list[i].Week.ToString();
                    weekCount++;
                }
                else
                {
                    weekCount = 0;
                    week      = list[i].Week;
                }
                //result.Add(resultSet);
                resultList.Add(resultSet);
                //result = new ArrayList();
            }

            return(resultList);
        }
示例#11
0
        protected override DataTable GetEntityData(int?entityKey)
        {
            var scheduleDetaildata = new ScheduleDetailDataModel();

            scheduleDetaildata.ScheduleDetailId = entityKey;
            var results = ScheduleDetailDataManager.Search(scheduleDetaildata, SessionVariables.RequestProfile);

            return(results);
        }
示例#12
0
        protected int GetData()
        {
            var data   = new ScheduleDetailDataModel();
            var dt     = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile);
            var maxRow = dt.Select("ScheduleDetailId = MAX(ScheduleDetailId)");
            var maxScheduleDetailId = Convert.ToInt32(maxRow[0]["ScheduleDetailId"].ToString());

            return(maxScheduleDetailId + 1);
        }
示例#13
0
        private DataTable GetScheduleDetailData(int scheduleId)
        {
            var data = new ScheduleDetailDataModel();

            data.ScheduleId = scheduleId;

            var dt = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile);

            return(dt);
        }
示例#14
0
        public static bool DoesExist(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            var doesExistRequest = new ScheduleDetailDataModel();

            doesExistRequest.ScheduleId = data.ScheduleId;
            doesExistRequest.InTime     = data.InTime;

            var list = GetEntityDetails(doesExistRequest, requestProfile, 0);

            return(list.Count > 0);
        }
示例#15
0
        public void SendMail(int?scheduleId, string mailFormat, string toEmailAddress, string ccEmailAddress, string fromEmailAddress,
                             bool isPreview, RequestProfile requestProfile)
        {
            var data = new ScheduleDetailDataModel();

            data.ScheduleId = scheduleId;
            var dt = ScheduleDetailDataManager.Search(data, requestProfile);

            if (dt.Rows.Count != 0)
            {
                FormatMail(dt, mailFormat, toEmailAddress, ccEmailAddress, fromEmailAddress, isPreview, requestProfile);
            }
        }
示例#16
0
        public static void Delete(ScheduleDetailDataModel dataQuery, RequestProfile requestProfile)
        {
            const string sql = @"dbo.ScheduleDetailDelete ";

            var parameters =
                new
            {
                AuditId = requestProfile.AuditId
                ,
                ScheduleDetailId = dataQuery.ScheduleDetailId
            };

            using (var dataAccess = new DataAccessBase(DataStoreKey))
            {
                dataAccess.Connection.Execute(sql, parameters, commandType: CommandType.StoredProcedure);
            }
        }
示例#17
0
        public static DataSet SearchView(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            // formulate SQL
            var sql = "EXEC dbo.ScheduleDetailViewSearch " +
                      " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) +
                      ", " + ToSQLParameter(BaseDataModel.BaseDataColumns.ApplicationId, requestProfile.ApplicationId) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleId) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleDetailId) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.PersonId) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategory) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.FromSearchDate) +
                      ", " + ToSQLParameter(data, ScheduleDetailDataModel.DataColumns.ToSearchDate);

            var oDs = new DBDataSet("Schedule.Search", sql, DataStoreKey);

            return(oDs.DBDataset);
        }
示例#18
0
        protected override DataTable UpdateData()
        {
            var UpdatedData = new DataTable();
            var data        = new ScheduleDetailDataModel();

            UpdatedData = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile).Clone();
            for (var i = 0; i < SelectedData.Rows.Count; i++)
            {
                data.ScheduleDetailId =
                    Convert.ToInt32(SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.ScheduleDetailId].ToString());

                data.ScheduleId =
                    Convert.ToInt32(SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.ScheduleId].ToString());

                data.InTime =
                    !string.IsNullOrEmpty(CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.InTime))
                                        ? DateTime.Parse(CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.InTime).ToString())
                                        : DateTime.Parse(SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.InTime].ToString());

                data.OutTime =
                    !string.IsNullOrEmpty(CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.OutTime))
                                        ? DateTime.Parse(CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.OutTime).ToString())
                                        : DateTime.Parse(SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.OutTime].ToString());

                data.Message =
                    !string.IsNullOrEmpty(CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.Message))
                                        ? CheckAndGetRepeaterTextBoxValue(ScheduleDetailDataModel.DataColumns.Message).ToString()
                                        : SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.Message].ToString();

                data.CreatedDate =
                    !string.IsNullOrEmpty(CheckAndGetRepeaterTextBoxValue(BaseDataModel.BaseDataColumns.CreatedDate))
                                        ? DateTime.Parse(CheckAndGetRepeaterTextBoxValue(BaseDataModel.BaseDataColumns.CreatedDate).ToString())
                                        : DateTime.Parse(SelectedData.Rows[i][BaseDataModel.BaseDataColumns.CreatedDate].ToString());

                ScheduleDetailDataManager.Update(data, SessionVariables.RequestProfile);
                data = new ScheduleDetailDataModel();
                data.ScheduleDetailId = Convert.ToInt32(SelectedData.Rows[i][ScheduleDetailDataModel.DataColumns.ScheduleDetailId].ToString());
                var dt = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile);

                if (dt.Rows.Count == 1)
                {
                    UpdatedData.ImportRow(dt.Rows[0]);
                }
            }
            return(UpdatedData);
        }
示例#19
0
        public void LoadData(int scheduleDetailId, bool showId)
        {
            // clear UI

            Clear();

            var dataQuery = new ScheduleDetailDataModel();

            dataQuery.ScheduleDetailId = scheduleDetailId;

            var items = ScheduleDetailDataManager.GetEntityDetails(dataQuery, SessionVariables.RequestProfile);

            if (items.Count != 1)
            {
                return;
            }

            var item = items[0];

            ScheduleDetailId = item.ScheduleDetailId;
            ScheduleId       = item.ScheduleId;
            InTime           = item.InTime;
            OutTime          = item.OutTime;
            WorkTicket       = item.WorkTicket;
            Message          = item.Message;
            ScheduleDetailActivityCategoryId = item.ScheduleDetailActivityCategoryId;
            //CreatedByAuditId                 = item.CreatedByAuditId;
            //ModifiedByAuditId                = item.ModifiedByAuditId;
            //CreatedDate                      = item.CreatedDate;
            //ModifiedDate                     = item.ModifiedDate;

            if (!showId)
            {
                txtScheduleDetailId.Text = item.ScheduleDetailId.ToString();

                // only show Audit History in case of Update page, not for Clone.
                oHistoryList.Setup((int)SystemEntity.ScheduleDetail, scheduleDetailId, "ScheduleDetail");
            }
            else
            {
                txtScheduleDetailId.Text = String.Empty;
            }

            oUpdateInfo.LoadText(item.UpdatedDate, item.UpdatedBy, item.LastAction);
        }
示例#20
0
        protected override void Clear()
        {
            base.Clear();

            var data = new ScheduleDetailDataModel();

            ScheduleDetailId = data.ScheduleDetailId;
            ScheduleId       = data.ScheduleId;
            InTime           = data.InTime;
            OutTime          = data.OutTime;
            Message          = data.Message;
            WorkTicket       = data.WorkTicket;
            ScheduleDetailActivityCategoryId = data.ScheduleDetailActivityCategoryId;
            //CreatedDate                      = data.CreatedDate;
            //ModifiedDate                     = data.ModifiedDate;
            //CreatedByAuditId                 = data.CreatedByAuditId;
            //ModifiedByAuditId                = data.ModifiedByAuditId;
        }
示例#21
0
        public List <WorkCategoryRecord> GetWorkCategoryReportData(string value1, string value2, string value3)
        {
            var applicationUserId = value1;
            var fromSearchDate    = value2;
            var toSearchDate      = value3;

            var dateFormat = "dd.MM.yyyy";

            var scheduleData = new ScheduleDetailDataModel();

            scheduleData.PersonId       = int.Parse(applicationUserId);
            scheduleData.FromSearchDate = DateTime.ParseExact(fromSearchDate, dateFormat, System.Globalization.DateTimeFormatInfo.InvariantInfo);
            scheduleData.ToSearchDate   = DateTime.ParseExact(toSearchDate, dateFormat, System.Globalization.DateTimeFormatInfo.InvariantInfo);

            var lstResult = ScheduleDetailDataManager.GetWorkCategoryData(scheduleData, SessionVariables.RequestProfile);

            return(lstResult);
        }
示例#22
0
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                string[] deleteIndexList = DeleteIds.Split(',');
                foreach (string index in deleteIndexList)
                {
                    var data = new ScheduleDetailDataModel();
                    data.ScheduleDetailId = int.Parse(index);
                    ScheduleDetailDataManager.Delete(data, SessionVariables.RequestProfile);
                }

                DeleteAndRedirect();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }
示例#23
0
        public static List <string> GetJIRAS(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            var list  = GetEntityDetails(data, requestProfile, 0);
            var jiras = new List <string>();

            for (var i = 0; i < list.Count(); i++)
            {
                var item = list[i];
                if (item.WorkTicket == null)
                {
                    continue;
                }
                else
                {
                    jiras.Add(item.WorkTicket.ToString());
                }
            }
            return(jiras);
        }
示例#24
0
        //public int? CreatedByAuditId
        //{
        //    get
        //    {
        //        return int.Parse(txtCreatedByAuditId.Text);
        //    }
        //    set
        //    {
        //        txtCreatedByAuditId.Text = (value == null) ? String.Empty : value.ToString();
        //    }
        //}

        //public int? ModifiedByAuditId
        //{
        //    get
        //    {
        //        return int.Parse(txtModifiedByAuditId.Text);
        //    }
        //    set
        //    {
        //        txtModifiedByAuditId.Text = (value == null) ? String.Empty : value.ToString();
        //    }
        //}

        //public DateTime? CreatedDate
        //{
        //    get
        //    {
        //        return DateTime.ParseExact(txtCreatedDate.Text, SessionVariables.UserDateFormat, DateTimeFormatInfo.InvariantInfo);
        //        //return DateTime.Parse(txtCreatedDate.Text.Trim());
        //    }
        //    set
        //    {

        //        txtCreatedDate.Text = (value == null) ? String.Empty : value.Value.ToString(SessionVariables.UserDateFormat);
        //    }
        //    //get
        //    //{
        //    //	//DateTime dt = Convert.ToDateTime(txtCreatedDate.Text.Trim());
        //    //	//return DateTime.ParseExact(dt.ToString(this.DateTimeFormat), this.DateTimeFormat, System.Globalization.DateTimeFormatInfo.InvariantInfo);
        //    //	DateTime dt = Convert.ToDateTime(txtCreatedDate.Text.Trim());
        //    //	return DateTime.Parse(dt.ToString("t"), null);
        //    //}
        //    //set
        //    //{
        //    //	txtCreatedDate.Text = (value == null) ? String.Empty : value.Value.ToString("t");
        //    //}
        //}

        //public DateTime? ModifiedDate
        //{
        //    get
        //    {
        //        DateTime dt = Convert.ToDateTime(txtModifiedDate.Text.Trim());
        //        return DateTime.ParseExact(dt.ToString(SessionVariables.UserDateFormat), SessionVariables.UserDateFormat, DateTimeFormatInfo.InvariantInfo);
        //    }
        //    set
        //    {
        //        txtModifiedDate.Text = (value == null) ? String.Empty : value.Value.ToString(SessionVariables.UserDateFormat);
        //    }
        //}

        #endregion properties

        #region private method

        private int?InsertOrUpdate(ScheduleDetailDataModel data, string action)
        {
            if (action == "Insert")
            {
                var dtScheduleDetail = ScheduleDetailDataManager.DoesExist(data, SessionVariables.RequestProfile);

                if (dtScheduleDetail.Rows.Count == 0)
                {
                    ScheduleDetailId = ScheduleDetailDataManager.Create(data, SessionVariables.RequestProfile);
                }
                else
                {
                    throw new Exception("Record with given ID already exists.");
                }
            }
            else
            {
                //data.CreatedDate = CreatedDate;
                ScheduleDetailDataManager.Update(data, SessionVariables.RequestProfile);
            }
            return(ScheduleDetailId);
        }
示例#25
0
        protected void GetData(int scheduleId)
        {
            var data = new ScheduleDetailDataModel();

            data.ScheduleId = scheduleId;

            var dt = ScheduleDetailDataManager.Search(data, SessionVariables.RequestProfile);

            if (dt.Rows.Count > 0)
            {
                ViewState["CurrentTable"]    = dt;
                gvScheduleDetails.DataSource = dt;
                gvScheduleDetails.DataBind();

                SetGridViewFooter(dt);
            }
            else
            {
                //AddNewRow();
                dt.Rows.Add(dt.NewRow());

                var getMaxDetailId = GetData();
                dt.Rows[0]["ScheduleDetailId"] = getMaxDetailId + 1;

                dt.Rows[0]["ScheduleId"]  = scheduleId;
                dt.Rows[0]["InTime"]      = DateTime.Now;
                dt.Rows[0]["OutTime"]     = DateTime.Now;
                dt.Rows[0]["Message"]     = "";
                dt.Rows[0]["WorkTicket"]  = "N/A";
                dt.Rows[0]["CreatedDate"] = DateTime.Now;

                ViewState["CurrentTable"] = dt;

                gvScheduleDetails.DataSource = dt;
                gvScheduleDetails.DataBind();

                SetGridViewFooter(dt);
            }
        }
示例#26
0
        protected override DataTable GetData()
        {
            try
            {
                SuperKey = ApplicationCommon.GetSuperKey();
                SetId    = ApplicationCommon.GetSetId();

                var selectedrows       = new DataTable();
                var scheduleDetaildata = new ScheduleDetailDataModel();

                selectedrows = ScheduleDetailDataManager.GetDetails(scheduleDetaildata, SessionVariables.RequestProfile).Clone();
                if (!string.IsNullOrEmpty(SuperKey))
                {
                    var systemEntityTypeId = (int)PrimaryEntity;
                    var lstEntityKeys      = ApplicationCommon.GetSuperKeyDetails(systemEntityTypeId, SuperKey);

                    foreach (var entityKey in lstEntityKeys)
                    {
                        scheduleDetaildata.ScheduleDetailId = entityKey;
                        var result = ScheduleDetailDataManager.GetDetails(scheduleDetaildata, SessionVariables.RequestProfile);
                        selectedrows.ImportRow(result.Rows[0]);
                    }
                }
                else
                {
                    scheduleDetaildata.ScheduleDetailId = SetId;
                    var result = ScheduleDetailDataManager.GetDetails(scheduleDetaildata, SessionVariables.RequestProfile);
                    selectedrows.ImportRow(result.Rows[0]);
                }
                return(selectedrows);
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }

            return(null);
        }
示例#27
0
        protected override void Update(Dictionary <string, string> values)
        {
            var data = new ScheduleDetailDataModel();

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.ScheduleDetailId))
            {
                data.ScheduleDetailId = int.Parse(values[ScheduleDetailDataModel.DataColumns.ScheduleDetailId].ToString());
            }

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.ScheduleId))
            {
                data.ScheduleId = int.Parse(values[ScheduleDetailDataModel.DataColumns.ScheduleId].ToString());
            }

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.InTime))
            {
                data.InTime = DateTime.Parse(values[ScheduleDetailDataModel.DataColumns.InTime].ToString());
            }

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.OutTime))
            {
                data.OutTime = DateTime.Parse(values[ScheduleDetailDataModel.DataColumns.OutTime].ToString());
            }

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.CreatedDate))
            {
                data.CreatedDate = DateTime.Parse(values[ScheduleDetailDataModel.DataColumns.CreatedDate].ToString());
            }

            if (values.ContainsKey(ScheduleDetailDataModel.DataColumns.Message))
            {
                data.Message = values[ScheduleDetailDataModel.DataColumns.Message].ToString();
            }

            ScheduleDetailDataManager.Update(data, SessionVariables.RequestProfile);
            base.Update(values);
        }
示例#28
0
 private static void FormatData(ScheduleDetailDataModel data)
 {
     // JIRA #3831
     data.Message    = Regex.Replace(data.Message, "jira", "JIRA", RegexOptions.IgnoreCase);
     data.WorkTicket = data.WorkTicket.ToUpper();
 }
示例#29
0
        public static List <WorkCategoryRecord> GetWorkCategoryData(ScheduleDetailDataModel data, RequestProfile requestProfile)
        {
            var lstResult    = new List <WorkCategoryRecord>();
            var columnTotals = new List <int>();

            var resultList = GetEntityDetails(data, requestProfile);

            // perform Grouping
            var resultGrouping = from l in resultList
                                 group l by new
            {
                Week = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(l.WorkDate.Value, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday),                      //+ "(" + l.WorkDate.Value.Year + ")",
                l.ScheduleDetailActivityCategory
            }
            into gcs
                select new
            {
                gcs.Key.Week,
                gcs.Key.ScheduleDetailActivityCategory,
                Count = gcs.Sum(x => ((TimeSpan)(x.OutTime - x.InTime)).Hours)
            };

            var dt = resultGrouping.ToList().ToDataTable();

            //currently assuming both will not be null
            var startingWeek = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(data.FromSearchDate.Value, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
            var endingWeek   = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(data.ToSearchDate.Value, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);

            var lstWeeks = new List <string>();

            var counter = startingWeek;

            while (counter != endingWeek)
            {
                lstWeeks.Add(counter.ToString());
                if (startingWeek > endingWeek && counter == 52)
                {
                    counter = 0;
                }
                counter++;
            }
            lstWeeks.Add(endingWeek.ToString());

            var distCategories = (from row in dt.AsEnumerable()
                                  select row["ScheduleDetailActivityCategory"].ToString().Trim())
                                 .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList();



            // add header row
            var objWorkCategoryRecordHeader = new WorkCategoryRecord();

            objWorkCategoryRecordHeader.Name = "Work Category";
            if (lstWeeks.Count > 0)
            {
                objWorkCategoryRecordHeader.Info = new SpecialData[lstWeeks.Count];
                for (int i = 0; i < lstWeeks.Count; i++)
                {
                    var week        = lstWeeks[i];
                    var specialData = new SpecialData();
                    specialData.WeekNo = week;

                    objWorkCategoryRecordHeader.Info[i] = specialData;

                    columnTotals.Add(0);
                }
            }
            lstResult.Add(objWorkCategoryRecordHeader);

            for (int j = 0; j < distCategories.Count; j++)
            {
                var category = distCategories[j];
                var objWorkCategoryRecord = new WorkCategoryRecord();

                var rowTotal = 0;

                objWorkCategoryRecord.Name = category;

                if (lstWeeks.Count > 0)
                {
                    objWorkCategoryRecord.Info = new SpecialData[lstWeeks.Count];

                    for (int i = 0; i < lstWeeks.Count; i++)
                    {
                        var week = lstWeeks[i];

                        var specialData = new SpecialData();
                        specialData.WeekNo = week;

                        var weekCount = 0;

                        try
                        {
                            weekCount = (from row in dt.AsEnumerable()
                                         where row["ScheduleDetailActivityCategory"].ToString() == category && row["Week"].ToString() == week
                                         select Convert.ToInt32(row["Count"])).FirstOrDefault();
                        }
                        catch { }

                        specialData.Value = weekCount.ToString("0.00");
                        rowTotal         += weekCount;
                        columnTotals[i]  += weekCount;

                        objWorkCategoryRecord.Info[i] = specialData;
                    }
                }

                objWorkCategoryRecord.Total = rowTotal.ToString("0.00");

                lstResult.Add(objWorkCategoryRecord);
            }

            // count grand total
            var grandTotal = columnTotals.Sum();

            // add total row
            var objWorkCategoryRecordTotal = new WorkCategoryRecord();

            objWorkCategoryRecordTotal.Name = "Total";

            // add Percentage row
            var objWorkCategoryRecordPercentage = new WorkCategoryRecord();

            objWorkCategoryRecordPercentage.Name = "Percentage";

            if (lstWeeks.Count > 0)
            {
                objWorkCategoryRecordTotal.Info      = new SpecialData[lstWeeks.Count];
                objWorkCategoryRecordPercentage.Info = new SpecialData[lstWeeks.Count];
                for (int i = 0; i < lstWeeks.Count; i++)
                {
                    var week = lstWeeks[i];

                    var specialData = new SpecialData();
                    specialData.WeekNo = week;
                    specialData.Value  = columnTotals[i].ToString("0.00");
                    objWorkCategoryRecordTotal.Info[i] = specialData;

                    var specialDataPercentage = new SpecialData();
                    specialDataPercentage.WeekNo = week;
                    if (grandTotal != 0)
                    {
                        specialDataPercentage.Value = String.Format("{0:P2}", (((float)columnTotals[i]) / ((float)grandTotal)));
                    }
                    else
                    {
                        specialDataPercentage.Value = "0.00%";
                    }
                    objWorkCategoryRecordPercentage.Info[i] = specialDataPercentage;
                }
            }

            objWorkCategoryRecordTotal.Total      = grandTotal.ToString("0.00");
            objWorkCategoryRecordPercentage.Total = grandTotal.ToString("0.00");

            lstResult.Add(objWorkCategoryRecordTotal);
            lstResult.Add(objWorkCategoryRecordPercentage);

            return(lstResult);
        }
示例#30
0
        public static string ToSQLParameter(ScheduleDetailDataModel data, string dataColumnName)
        {
            var returnValue = "NULL";

            switch (dataColumnName)
            {
            case ScheduleDetailDataModel.DataColumns.ScheduleDetailId:
                if (data.ScheduleDetailId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.ScheduleDetailId, data.ScheduleDetailId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ScheduleDetailId);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategoryId:
                if (data.ScheduleDetailActivityCategoryId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategoryId, data.ScheduleDetailActivityCategoryId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategoryId);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.ScheduleId:
                if (data.ScheduleId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.ScheduleId, data.ScheduleId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ScheduleId);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.InTime:
                if (data.InTime != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.InTime, data.InTime);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.InTime);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.OutTime:
                if (data.OutTime != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.OutTime, data.OutTime);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.OutTime);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.Message:
                if (!string.IsNullOrEmpty(data.Message))
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.Message, data.Message);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.Message);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.WorkTicket:
                if (!string.IsNullOrEmpty(data.WorkTicket))
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.WorkTicket, data.WorkTicket);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.WorkTicket);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategory:
                if (!string.IsNullOrEmpty(data.ScheduleDetailActivityCategory))
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategory, data.ScheduleDetailActivityCategory);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ScheduleDetailActivityCategory);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.PersonId:
                if (data.PersonId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.PersonId, data.PersonId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.PersonId);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.DateDiffHrs:
                if (data.DateDiffHrs != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.DateDiffHrs, data.DateDiffHrs);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.DateDiffHrs);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.FromSearchDate:
                if (data.FromSearchDate != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.FromSearchDate, data.FromSearchDate);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.FromSearchDate);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.ToSearchDate:
                if (data.ToSearchDate != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.ToSearchDate, data.ToSearchDate);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ToSearchDate);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.Person:
                if (data.Person != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.Person, data.Person);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.Person);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.CreatedDate:
                if (data.CreatedDate != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.CreatedDate, data.CreatedDate);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.CreatedDate);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.ModifiedDate:
                if (data.ModifiedDate != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, ScheduleDetailDataModel.DataColumns.ModifiedDate, data.ModifiedDate);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ModifiedDate);
                }
                break;

            case ScheduleDetailDataModel.DataColumns.CreatedByAuditId:
                if (data.CreatedByAuditId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.CreatedByAuditId, data.CreatedByAuditId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.CreatedByAuditId);
                }
                break;


            case ScheduleDetailDataModel.DataColumns.ModifiedByAuditId:
                if (data.ModifiedByAuditId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, ScheduleDetailDataModel.DataColumns.ModifiedByAuditId, data.ModifiedByAuditId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, ScheduleDetailDataModel.DataColumns.ModifiedByAuditId);
                }
                break;

            default:
                returnValue = StandardDataManager.ToSQLParameter(data, dataColumnName);
                break;
            }

            return(returnValue);
        }