コード例 #1
0
        protected override Boolean isInputFieldsValid()
        {
            Util.sanitize(itxt_Name, itxt_Notes);
            if (string.IsNullOrEmpty(itxt_Name.ValueText))
            {
                return(itxt_Name.isValueError("Please fill Workshift Name"));
            }
            else if (itxt_Clients.ValueGuid == null)
            {
                return(itxt_Clients.isValueError("Please select a Client"));
            }
            else if (itxt_UserAccounts.ValueGuid == null)
            {
                return(itxt_UserAccounts.isValueError("Please select a User"));
            }
            else if (itxt_WorkshiftCategories.ValueGuid == null)
            {
                return(itxt_WorkshiftCategories.isValueError("Please select a Workshift Category"));
            }
            else if (!iddl_DayOfWeek.hasSelectedValue())
            {
                return(iddl_DayOfWeek.SelectedValueError("Please select the day."));
            }
            else if ((Mode != FormModes.Update && Workshift.isCombinationExist(null, itxt_Name.ValueText, (Guid)itxt_Clients.ValueGuid, (Guid)itxt_UserAccounts.ValueGuid, Util.parseEnum <DayOfWeek>(iddl_DayOfWeek.SelectedValue), idtp_Start.ValueTimeSpan.ToString())) ||
                     (Mode == FormModes.Update && Workshift.isCombinationExist(selectedRowID(), itxt_Name.ValueText, (Guid)itxt_Clients.ValueGuid, (Guid)itxt_UserAccounts.ValueGuid, Util.parseEnum <DayOfWeek>(iddl_DayOfWeek.SelectedValue), idtp_Start.ValueTimeSpan.ToString())))
            {
                return(iddl_DayOfWeek.SelectedValueError("Workshift combination exists. Please change Name/Client/Day/Start."));
            }

            return(true);
        }
コード例 #2
0
        public async Task <IHttpActionResult> PutWorkshift(int id, Workshift workshift)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != workshift.Id)
            {
                return(BadRequest());
            }

            db.Entry(workshift).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!WorkshiftExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
        public void CreateWorkshift(User user, decimal amount)
        {
            Workshift workshift = new Workshift();

            workshift.CashAmount = amount;
            workshift.Opening    = workshift.Closing = DateTime.Now;
            workshift.UserId     = user.Id;

            workshiftRepository.Add(workshift);
        }
コード例 #4
0
        public async Task <IHttpActionResult> GetWorkshift(int id)
        {
            Workshift workshift = await db.Workshifts.FindAsync(id);

            if (workshift == null)
            {
                return(NotFound());
            }

            return(Ok(workshift));
        }
コード例 #5
0
ファイル: ApiServices.cs プロジェクト: nikolovescode/ExamApp
        public async Task <bool> RegisterWorkshift(Workshift workshift)
        {
            var json       = JsonConvert.SerializeObject(workshift);
            var httpClient = new HttpClient();
            var content    = new StringContent(json, Encoding.UTF8, "application/json");

            httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", Settings.Accesstoken);
            var workshiftApiUrl = "http://calendaradhd.azurewebsites.net/api/Workshifts/PostWorkshift";
            var response        = await httpClient.PostAsync(workshiftApiUrl, content);

            return(response.IsSuccessStatusCode);
        }
コード例 #6
0
        public async Task <IHttpActionResult> PostWorkshift(Workshift workshift)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Workshifts.Add(workshift);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = workshift.Id }, workshift));
        }
コード例 #7
0
        public void Item_EmptyDB_RaisePropertyChangedEvent()
        {
            // Arrange
            viewModel.Item = null;
            var item = new Workshift();

            // Act
            Assert.PropertyChanged(viewModel, "Item", () => { viewModel.Item = item; });
            Assert.Equal(item, viewModel.Item);

            Assert.PropertyChanged(viewModel, "Item", () => { viewModel.Item = null; });
            Assert.Null(viewModel.Item);
        }
コード例 #8
0
 protected override void add()
 {
     Workshift.add(UserAccount.LoggedInAccount.Id,
                   itxt_Name.ValueText,
                   (Guid)itxt_Clients.ValueGuid,
                   (Guid)itxt_UserAccounts.ValueGuid,
                   itxt_WorkshiftTemplate.ValueGuid,
                   (Guid)itxt_WorkshiftCategories.ValueGuid,
                   (DayOfWeek)iddl_DayOfWeek.SelectedValue,
                   idtp_Start.ValueTimeSpan.ToString(),
                   in_DurationMinutes.ValueInt,
                   itxt_Notes.ValueText);
 }
コード例 #9
0
        public async Task <IHttpActionResult> DeleteWorkshift(int id)
        {
            Workshift workshift = await db.Workshifts.FindAsync(id);

            if (workshift == null)
            {
                return(NotFound());
            }

            db.Workshifts.Remove(workshift);
            await db.SaveChangesAsync();

            return(Ok(workshift));
        }
コード例 #10
0
        public void Constructor_ExistingItem_EditPageContextLoadFail()
        {
            // Arrange
            var existingWorkshift = new Workshift()
            {
                Name = "Test Workshift 123456789"
            };

            // Act
            viewModel = new AddWorkshiftViewModel(existingWorkshift);

            // Assert
            Assert.NotEqual("Edit Workshift", viewModel.Title);
        }
コード例 #11
0
        public Workshift ParseWorkshiftHIO(WorkshiftHIO wsHIO)
        {
            var ws = new Workshift()
            {
                Begin = (int)TimeSpan.Parse(wsHIO.ShiftBegin).TotalMinutes,
                End   = (int)TimeSpan.Parse(wsHIO.ShiftEnd).TotalMinutes
            };

            foreach (var employeeName in wsHIO.EmployeeTypeNames)
            {
                ws.EmployeeTypes.Add(employeeTypeContentManager.GetByName(employeeName.Key), employeeName.Value);
            }
            return(ws);
        }
コード例 #12
0
 protected override System.Data.DataView loadGridviewDataSource()
 {
     return(Workshift.get(chkIncludeInactive.Checked, null,
                          itxt_Name.ValueText,
                          getFilterValue <Guid?>(itxt_Clients),
                          getFilterValue <Guid?>(itxt_UserAccounts),
                          getFilterValue <Guid?>(itxt_WorkshiftTemplate),
                          getFilterValue <Guid?>(itxt_WorkshiftCategories),
                          getFilterValue <int?>(iddl_DayOfWeek),
                          getFilterValue <TimeSpan?>(idtp_Start),
                          getFilterValue <int?>(in_DurationMinutes),
                          getFilterValue <string>(itxt_Notes)
                          ).DefaultView);
 }
コード例 #13
0
        public static State GetState(string stateTypeName, Workshift workshift)
        {
            var     list          = FindAllDerivedStates();
            dynamic returnedValue = null;

            foreach (var state in list)
            {
                if (state.Name == stateTypeName)
                {
                    returnedValue = Activator.CreateInstance(state, workshift);
                }
            }

            return(returnedValue);
        }
コード例 #14
0
        public async Task Test_Add_Workshift_TrueAsync()
        {
            ApiServices apiServices = new ApiServices();

            var workshift = new Workshift()
            {
                IdWorkTask         = 9,
                TitleWorkTask      = "Hushållssysslor",
                PlannedWorkshiftId = 1,
                CalendarUserEmail  = "*****@*****.**",
                WasEffective       = true,
                MinutesWorking     = 20
            };
            bool response = await apiServices.RegisterWorkshift(workshift);

            Assert.IsNotNull(response);
        }
コード例 #15
0
        private async void NoButton_Clicked(object sender, EventArgs e)
        {
            ApiServices apiServices = new ApiServices();

            var workshift = new Workshift()
            {
                IdWorkTask         = _shift.IdWorkTask,
                TitleWorkTask      = _shift.TitleWorkTask,
                PlannedWorkshiftId = _shift.Id,
                CalendarUserEmail  = Settings.UserName,
                WasEffective       = false,
                MinutesWorking     = (int)(_timeWorkedMilliS / 1000) / 60
            };
            bool response = await apiServices.RegisterWorkshift(workshift);

            await PopupNavigation.Instance.PopAsync(true);
        }
コード例 #16
0
        protected override void populateInputFields()
        {
            Workshift obj = new Workshift(selectedRowID());

            itxt_Name.ValueText = obj.Name;
            itxt_Clients.setValue(obj.Clients_CompanyName, obj.Clients_Id);
            itxt_UserAccounts.setValue(obj.UserAccounts_Fullname, obj.UserAccounts_Id);
            itxt_WorkshiftCategories.setValue(obj.WorkshiftCategories_Name, obj.WorkshiftCategories_Id);
            iddl_DayOfWeek.SelectedItem = obj.DayOfWeek;
            idtp_Start.ValueTimeSpan    = obj.Start;
            in_DurationMinutes.Value    = obj.DurationMinutes;
            itxt_Notes.ValueText        = obj.Notes;
            if (!string.IsNullOrEmpty(obj.WorkshiftTemplates_Name))
            {
                itxt_WorkshiftTemplate.setValue(obj.WorkshiftTemplates_Name, (Guid)obj.WorkshiftTemplates_Id);
            }
        }
コード例 #17
0
        public void Constructor_ExistingItem_EditPageContextLoaded()
        {
            // Arrange
            var existingWorkshift = new Workshift()
            {
                Name = "Test Workshift 123456789"
            };

            new WorkshiftRepository().SaveItemAsync(existingWorkshift).Wait();

            // Act
            viewModel = new AddWorkshiftViewModel(existingWorkshift);

            // Assert
            Assert.Equal("Test Workshift 123456789", viewModel.Item.Name);
            Assert.Equal("Edit Workshift", viewModel.Title);
        }
コード例 #18
0
        public void SaveWorkshiftToDatabase_AllArguments_Saved()
        {
            // Arrange
            var Workshift = new Workshift()
            {
                Name = "Test Workshift 123456789", Description = "Test Description !@#$%^&*()"
            };

            viewModel.Item = Workshift;

            // Act
            viewModel.SaveItemToDatabaseAsync().Wait();

            // Assert
            var WorkshiftRepository = new WorkshiftRepository();
            var resultWorkshift     = WorkshiftRepository.GetAllItemsAsync().Result.FirstOrDefault(x => x.Name == "Test Workshift 123456789");

            Assert.NotNull(resultWorkshift);
        }
コード例 #19
0
        public void SaveWorkshiftToDatabase_EmptyArgument_NotSaved(string name, string description)
        {
            // Arrange
            var workshift = new Workshift()
            {
                Name = name, Description = description
            };

            viewModel.Item = workshift;

            // Act
            viewModel.SaveItemToDatabaseAsync().Wait();

            // Assert
            var workshiftRepository = new WorkshiftRepository();
            var resultWorkshift     = workshiftRepository.GetAllItemsAsync().Result.FirstOrDefault(x => x.Name == name && x.Description == description);

            Assert.Null(resultWorkshift);
        }
コード例 #20
0
        public async Task <Notification> CheckWorkshiftForNotification(Workshift workshift)
        {
            var currentDate = DateTime.Now;

            if (workshift.StartDateTime.Day != currentDate.Day)
            {
                return(null);
            }

            var contract = await _contractService.GetContractByWorkshiftId(workshift.Id);

            if (currentDate - workshift.StartDateTime >= TimeSpan.FromMinutes(10) &&
                workshift.State.GetType() == typeof(NoState))
            {
                var notification = _notificationFactory.CreateNotification(contract.Employer, contract.Person, "NotStarted",
                                                                           workshift.Job, currentDate);

                if (await _notificationRepository.CheckNotificationIfExist(notification))
                {
                    return(null);
                }

                return(notification);
            }

            if (workshift.State.GetType() != typeof(PausedState))
            {
                return(null);
            }

            if (currentDate - workshift.WorkedTimeblocks.Last().StopTime >= TimeSpan.FromMinutes(70))
            {
                return(_notificationFactory.CreateNotification(contract.Employer, contract.Person, "Paused",
                                                               workshift.Job, currentDate));
            }

            return(null);
        }
コード例 #21
0
 protected override void updateActiveStatus(Guid id, Boolean activeStatus)
 {
     Workshift.updateActiveStatus(UserAccount.LoggedInAccount.Id, id, activeStatus);
 }
コード例 #22
0
 public void Add(Workshift w)
 {
     Data.Add(w);
 }
コード例 #23
0
        /*******************************************************************************************************/
        #region EVENT HANDLERS

        private void btnDelete_Click(object sender, EventArgs e)
        {
            Workshift.delete(UserAccount.LoggedInAccount.Id, selectedRowID());
            populateGridViewDataSource(true);
        }
コード例 #24
0
 private void populateDgvWorkshifts()
 {
     Util.populateDataGridView(dgvWorkshifts, Workshift.get(false, null, null, _Clients_Id, null, null, null, (int)Util.getDayOfWeekFromActiveRadioButtonTag(flpWorkshifts), null, null, null));
 }
コード例 #25
0
        static void Main(string[] args)
        {
            //string ss = string.Empty;
            //writeLine(ss);

            MySqlConn mysql = new MySqlConn();
            DataTable s     = mysql.FillDataTable(CommandType.Text, "select * from api_admin");

            foreach (DataRow r in s.Rows)
            {
                foreach (DataColumn c in s.Columns)
                {
                    Console.WriteLine(r[c.ColumnName]);
                }
            }

            Console.Read();


            TestCls cls = new TestCls
            {
                Name = "cc",
                Age  = 3,
                Memo = "memo"
            };

            //Func<TestCls, object> ss = c => (object)c.Name;
            ////MethodInfo methodInfo = StaticReflection.GetPropertyGetMethodInfo<TestCls, string>(c => c.Name);
            //ConstructorInfo info = StaticReflection.GetConstructorInfo<TestCls>(() => new TestCls());
            //object obj = info.Invoke(cls, null);
            //string sss = PropertyEvaluator.ExtractPropertyName<TestCls>( p => p.Memo);
            ////object o = methodInfo.Invoke(cls, null);

            //PropertyAccessor pa = new PropertyAccessor(typeof(TestCls));
            //pa.SetProperty(cls, "Name", "cccccccccccccccc");
            //object o = pa.GetProperty(cls, "Name");



            //log.Info("rrrrrrrrrrrrr");

            //ChineseCharacterConvertToAlphabetic py = new ChineseCharacterConvertToAlphabetic();
            //string outletter;
            //string ssrr = py.ConvertToAllAlphabetic("银行", out outletter);
            ////LoggerManager.ILog.Info(ssrr);
            //string ssrrrrsss = py.ConvertToAllAlphabetic("自行车", out outletter);
            //LoggerManager.GetILog("cc").Info(ssrrrrsss);

            //ChineseCharacterConvertToFirstAlphabetic pys = new ChineseCharacterConvertToFirstAlphabetic();
            //string sss = pys.GetFirstLetter("银行");
            //string scss = pys.GetFirstLetter("自行车");

            //string scsssssss = ChineseCharacterConvertToFirstAlphabetic.GetFirstAlphabetic("自行车");
            //LoggerManager.ILog.Info(scsssssss);



            AppLog app = new AppLog
            {
                Id = 200
                     //ApplicationFriendlyName = "appliaction",
                     //HostName = "cc",
                     //AssemblyLocationInfo = "f:\\ss",
                     //ExceptionMsg = "dfd",
                     //LogLevel = "Info0"
            };

            AppLog app2 = new AppLog
            {
                //Id = 4444,
                //ApplicationFriendlyName = "appldfdfdfdiaction",
                HostName = "yyyyyyyyyyyyyyyyy"
                           //AssemblyLocationInfo = "f:\\sdfdfdfs",
                           //ExceptionMsg = "dfdfdfdfdfd",
                           //LogLevel = "Infdfdfdfo0"
            };

            //app.SqlServerTransaction(OperationType.Insert, true);
            //app.SqlServerTransaction(OperationType.Update, false, app2);

            //SqlServerDbMapper<AppLog> appLogDbMapper = new SqlServerDbMapper<AppLog>();
            //appLogDbMapper.GetAllObjectInstanceList();

            //appLogDbMapper.Update(app, app2);

            Workshift ws = new Workshift()
            {
                Id = 5
            };


            Workshift ws2 = new Workshift()
            {
                Name = "ccc4444"
            };


            //ws.SqlServerTransaction(OperationType.Update,true, ws2);
            //ws.SqlServerTransaction(OperationType.Delete, false);
        }
コード例 #26
0
 public Workshift Add(Workshift workshift)
 {
     this.db.Workshifts.Insert(workshift);
     return(workshift);
 }
コード例 #27
0
 public void Update(Workshift lastWorkshift)
 {
     this.db.Workshifts.Update(lastWorkshift);
 }
コード例 #28
0
 public NoState(Workshift workshift) : base(workshift)
 {
 }
コード例 #29
0
 public PausedState(Workshift workshift) : base(workshift)
 {
 }
コード例 #30
0
 public override bool StartTimer()
 {
     Workshift.ChangeState(new StartedState(Workshift));
     return(true);
 }