Пример #1
0
        public void AddNewRecord(string userID, int weekNumber, TimeEntry newEntry)
        {
            Connect();

            Entity TEDetail = new Entity("gsc_timeentry");

            //Get Entity of Staff
            Entity staff = GetStaff(service, userID);

            TEDetail.Attributes["gsc_userid"] = new EntityReference("systemuser", new Guid(userID));
            TEDetail.Attributes["gsc_projectsoid"] = new EntityReference("salesorder", new Guid(newEntry.ProjectID));
            TEDetail.Attributes["gsc_activitytypeid"] = new EntityReference("gsc_activity", new Guid(newEntry.ActivityTypeID));
            TEDetail.Attributes["gsc_stafftypeid"] = new EntityReference("gsc_stafftype", new Guid(newEntry.StaffTypeID));
            TEDetail.Attributes["gsc_practiceid"] = new EntityReference("gsc_practice", new Guid(newEntry.PracticeID));
            TEDetail.Attributes["gsc_week"] = weekNumber;
            TEDetail.Attributes["gsc_businessunitid"] = staff.Attributes["businessunitid"];
            TEDetail.Attributes["gsc_billability"] = newEntry.Billability;
            TEDetail.Attributes["gsc_onsite"] = newEntry.OnSite;
            TEDetail.Attributes["gsc_activitydescription"] = newEntry.Description;
            TEDetail.Attributes["gsc_monday"] = newEntry.MondayHours;
            TEDetail.Attributes["gsc_tuesday"] = newEntry.TuesdayHours;
            TEDetail.Attributes["gsc_wednesday"] = newEntry.WednesdayHours;
            TEDetail.Attributes["gsc_thursday"] = newEntry.ThursdayHours;
            TEDetail.Attributes["gsc_friday"] = newEntry.FridayHours;
            TEDetail.Attributes["gsc_saturday"] = newEntry.SaturdayHours;
            TEDetail.Attributes["gsc_sunday"] = newEntry.SundayHours;
            TEDetail.Attributes["gsc_totalentryhours"] = TotalWeekHours(newEntry);

            service.Create(TEDetail);
        }
Пример #2
0
 public ActionResult Edit(TimeEntry entry, string tid)
 {
     /*
        Update Entry..
      */
     base.dbEntry.Update(entry, tid);
     return RedirectToAction("Index", new { notify = "true" });
 }
 public ActionResult Edit(TimeEntry entry, string tid)
 {
     /*
      * An ActionResult that process the updating of an entry
      */
     base.dbEntry.Update(entry, tid, true);
     return RedirectToAction("Index", new { notify = "true" });
 }
Пример #4
0
 // A Method Helper that fills a Model
 protected TimeEntryViewModel FillViewModel(TimeEntry entry = null)
 {
     TimeEntryViewModel vm = new TimeEntryViewModel
     {
         Entries = dbEntry.FetchForUser(new Guid(User.Identity.Name),
                                         Session["week"].ToInteger()).ToList(),
         Entry = entry
     };
     return vm;
 }
Пример #5
0
        // Creates a Select list item <option></option> in html
        // and  pre selects it before rendering in the view
        protected void SelectDropDowns(TimeEntry entry)
        {
            ViewBag.Project = new SelectList(dbProject.FetchAll(),
                                               "ProjectID",
                                               "ProjectName", entry.ProjectID);
            ViewBag.Activity = new SelectList(dbActivity.FetchAll(),
                                              "ActivityTypeID",
                                              "ActivityTypeName", entry.ActivityTypeID);

            ViewBag.StaffType = new SelectList(dbStaff.FetchAll(),
                                              "StaffTypeID",
                                              "StaffTypeName", entry.StaffTypeID);
            ViewBag.Practice = new SelectList(dbPractice.FetchAll(),
                                            "PracticeID",
                                            "PracticeName", entry.PracticeID);
        }
Пример #6
0
 private decimal? TotalWeekHours(TimeEntry entry)
 {
     return entry.MondayHours +
      entry.TuesdayHours +
      entry.WednesdayHours +
      entry.ThursdayHours +
      entry.FridayHours +
      entry.SaturdayHours + entry.SundayHours;
 }
Пример #7
0
        private TimeEntry FetchSetter(TimeEntry entry, Entity rd)
        {
            entry.ID = rd["gsc_timeentryid"].ToString();
            entry.ProjectID = ((AliasedValue)rd["Project.name"]).Value.ToString();
            entry.ActivityTypeID = ((AliasedValue)rd["ActivityType.gsc_name"]).Value.ToString();
            entry.StaffTypeID = ((AliasedValue)rd["StaffType.gsc_name"]).Value.ToString();
            entry.PracticeID = ((AliasedValue)rd["Practice.gsc_name"]).Value.ToString();
            entry.Description = rd["gsc_activitydescription"].ToString();
            entry.Billability = Convert.ToBoolean(rd["gsc_billability"]);
            entry.OnSite = Convert.ToBoolean(rd["gsc_onsite"]);
            entry.MondayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_monday"]));
            entry.TuesdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_tuesday"]));
            entry.WednesdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_wednesday"]));
            entry.ThursdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_thursday"]));
            entry.FridayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_friday"]));
            entry.SaturdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_saturday"]));
            entry.SundayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_sunday"]));
            entry.TotalWeekHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_totalentryhours"]));
            entry.isValidBillability = Convert.ToBoolean(rd["gsc_isvalidbillability"]);
            entry.isValidInfo = Convert.ToBoolean(rd["gsc_isvalidinfo"]);
            //entry.EntryRemarks = GetNotesForEntry(entry.ID);
            //-- Get User Reference
            Guid userID = ((EntityReference)rd["gsc_userid"]).Id;
            entry.StaffFullname = this.dbUser.GetFullNameForUser(userID).Fullname;

            entry.EntryRemarks = this.dbAnnotation.GetNotesForEntry(entry.ID);

            return entry;
        }
Пример #8
0
        public void Update(TimeEntry entry, string detailID, bool isTimekeeper = false)
        {
            Connect();

            Entity TEDetail = getTimeEntryDetailEntityId(service, new Guid(detailID));
            TEDetail.Attributes["gsc_projectsoid"] = new EntityReference("salesorder", new Guid(entry.ProjectID));
            TEDetail.Attributes["gsc_activitytypeid"] = new EntityReference("gsc_activity", new Guid(entry.ActivityTypeID));
            TEDetail.Attributes["gsc_stafftypeid"] = new EntityReference("gsc_stafftype", new Guid(entry.StaffTypeID));
            TEDetail.Attributes["gsc_practiceid"] = new EntityReference("gsc_practice", new Guid(entry.PracticeID));
            TEDetail.Attributes["gsc_onsite"] = entry.OnSite;
            TEDetail.Attributes["gsc_activitydescription"] = entry.Description;
            TEDetail.Attributes["gsc_monday"] = entry.MondayHours.ToDecimal();
            TEDetail.Attributes["gsc_tuesday"] = entry.TuesdayHours.ToDecimal();
            TEDetail.Attributes["gsc_wednesday"] = entry.WednesdayHours.ToDecimal();
            TEDetail.Attributes["gsc_thursday"] = entry.ThursdayHours.ToDecimal();
            TEDetail.Attributes["gsc_friday"] = entry.FridayHours.ToDecimal();
            TEDetail.Attributes["gsc_saturday"] = entry.SaturdayHours.ToDecimal();
            TEDetail.Attributes["gsc_sunday"] = entry.SundayHours.ToDecimal();
            TEDetail.Attributes["gsc_totalentryhours"] = TotalWeekHours(entry).ToDecimal();

            TEDetail.Attributes["gsc_isvalidinfo"] = true;

            if (isTimekeeper == true)
            {
                TEDetail.Attributes["gsc_isvalidbillability"] = true;
                TEDetail.Attributes["gsc_billability"] = entry.Billability;
            }

            service.Update(TEDetail);
        }
Пример #9
0
        public TimeEntry FetchRecordDetails(Guid recordID)
        {
            Connect();
            QueryExpression qe = LinkEntities();

            qe.Criteria = new FilterExpression();
            qe.Criteria.AddCondition("gsc_timeentryid", ConditionOperator.Equal, recordID);

            EntityCollection ec = service.RetrieveMultiple(qe);

            TimeEntry entry = new TimeEntry();

            foreach (Entity rd in ec.Entities)
            {
                entry.ID = rd["gsc_timeentryid"].ToString();
                entry.ProjectID = ((AliasedValue)rd["Project.salesorderid"]).Value.ToString();
                entry.ActivityTypeID = ((AliasedValue)rd["ActivityType.gsc_activityid"]).Value.ToString();
                entry.StaffTypeID = ((AliasedValue)rd["StaffType.gsc_stafftypeid"]).Value.ToString();
                entry.PracticeID = ((AliasedValue)rd["Practice.gsc_practiceid"]).Value.ToString();
                entry.Description = rd["gsc_activitydescription"].ToString();
                entry.Billability = Convert.ToBoolean(rd["gsc_billability"]);
                entry.OnSite = Convert.ToBoolean(rd["gsc_onsite"]);
                entry.MondayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_monday"]));
                entry.TuesdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_tuesday"]));
                entry.WednesdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_wednesday"]));
                entry.ThursdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_thursday"]));
                entry.FridayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_friday"]));
                entry.SaturdayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_saturday"]));
                entry.SundayHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_sunday"]));
                entry.TotalWeekHours = Convert.ToDecimal(string.Format("{0:0.00}", rd["gsc_totalentryhours"]));
                entry.EntryRemarks = this.dbAnnotation.GetNotesForEntry(entry.ID);
                entry.isValidBillability = Convert.ToBoolean(rd["gsc_isvalidbillability"]);
                entry.isValidInfo = Convert.ToBoolean(rd["gsc_isvalidinfo"]);
                //-- Get User Reference
                Guid userID = ((EntityReference)rd["gsc_userid"]).Id;
                entry.StaffFullname = this.dbUser.GetFullNameForUser(userID).Fullname;
                return entry;
            }

            return entry;
        }
Пример #10
0
        public IQueryable<TimeEntry> FetchPartialDetails(List<string> projectIDs, int? weekNumber, string searchText = null)
        {
            Connect();
            QueryExpression qe = LinkEntities();
            qe = ConditionHelper(qe, "gsc_projectsoid", projectIDs);

            if (weekNumber != null)
            {
                qe.Criteria = new FilterExpression();
                qe.Criteria.AddCondition("gsc_week", ConditionOperator.Equal, weekNumber);
            }

            EntityCollection ec = service.RetrieveMultiple(qe);

            List<TimeEntry> entries = new List<TimeEntry>();

            foreach (Entity rd in ec.Entities)
            {
                TimeEntry entry = new TimeEntry();
                entries.Add(FetchSetter(entry, rd));
            }
            var Iqueryable = entries.AsQueryable();
            return Iqueryable;
        }
Пример #11
0
 public TimeEntry ExtractFormCollection(FormCollection formData)
 {
     TimeEntry newEntry = new TimeEntry();
     newEntry.ProjectID = formData["Entry.ProjectID"];
     newEntry.ActivityTypeID = formData["Entry.ActivityTypeID"];
     newEntry.StaffTypeID = formData["Entry.StaffTypeID"];
     newEntry.PracticeID = formData["Entry.PracticeID"];
     newEntry.Billability = formData["Entry.Billability"].CbxToBoolean();
     newEntry.OnSite = formData["Entry.OnSite"].CbxToBoolean();
     newEntry.Description = formData["Entry.Description"];
     // ------------
     newEntry.MondayHours = formData["Entry.MondayHours"].ToDecimal();
     newEntry.TuesdayHours = formData["Entry.TuesdayHours"].ToDecimal();
     newEntry.WednesdayHours = formData["Entry.WednesdayHours"].ToDecimal();
     newEntry.ThursdayHours = formData["Entry.ThursdayHours"].ToDecimal();
     newEntry.FridayHours = formData["Entry.FridayHours"].ToDecimal();
     newEntry.SaturdayHours = formData["Entry.SaturdayHours"].ToDecimal();
     newEntry.SundayHours = formData["Entry.SundayHours"].ToDecimal();
     newEntry.TotalWeekHours = TotalWeekHours(newEntry);
     return newEntry;
 }