コード例 #1
0
ファイル: EntityExtensions.cs プロジェクト: hanuoc/tenatms
 public static void UpdateOTRequest(this OTRequest otRequest, OTRequestViewModel otRequestVm)
 {
     otRequest.ID              = otRequestVm.ID;
     otRequest.Title           = otRequestVm.Title;
     otRequest.CreatedBy       = otRequestVm.CreatedBy;
     otRequest.OTDate          = otRequestVm.OTDate;
     otRequest.OTDateTypeID    = otRequestVm.OTDateTypeID;
     otRequest.OTTimeTypeID    = otRequestVm.OTTimeTypeID;
     otRequest.StatusRequestID = otRequestVm.StatusRequestID;
     otRequest.UserAssignedID  = otRequestVm.UserAssignedID;
     otRequest.CreatedDate     = otRequestVm.CreatedDate;
     otRequest.UpdatedDate     = otRequestVm.UpdatedDate;
     otRequest.UpdatedBy       = otRequestVm.UpdatedBy;
     otRequest.StartTime       = otRequestVm.StartTime;
     otRequest.EndTime         = otRequestVm.EndTime;
 }
コード例 #2
0
ファイル: OTRequestController.cs プロジェクト: hanuoc/tenatms
        public async Task <HttpResponseMessage> Update(HttpRequestMessage request, OTRequestViewModel oTRequestViewModel)
        {
            return(await CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState);
                }
                var tmp = oTRequestViewModel.OTRequestUserID.ToList();
                tmp.Add(oTRequestViewModel.UserID);
                oTRequestViewModel.OTRequestUserID = tmp.Distinct().ToArray();
                DateTime?dateViewModel = oTRequestViewModel.OTDate;
                var model = _otrequestService.GetById(oTRequestViewModel.ID);
                var dateNow = DateTime.Now.Date;
                if (oTRequestViewModel.OTDate == dateNow)
                {
                    if (_otrequestService.CheckCreateDay(model) == false)
                    {
                        return request.CreateResponse(HttpStatusCode.BadRequest, MessageSystem.ERROR_CREATE_OTREQUEST_IN_PAST_NOT_MSG);
                    }
                }
                if (oTRequestViewModel.OTDate < dateNow)
                {
                    return request.CreateResponse(HttpStatusCode.BadRequest, MessageSystem.ERROR_CREATE_OTREQUEST_IN_PAST_NOT_MSG);
                }
                // nomal
                if (oTRequestViewModel.OTDate != null && _commonService.isWorkingDay(oTRequestViewModel.OTDate.Value) && oTRequestViewModel.OTDateTypeID != CommonConstants.OTDateTypeNormal)
                {
                    return request.CreateResponse(HttpStatusCode.BadRequest, oTRequestViewModel.OTDate.Value.Date.ToString("dd/MM/yyyy",
                                                                                                                           CultureInfo.InvariantCulture) + " is " + oTRequestViewModel.OTDate.Value.DayOfWeek + ", " + MessageSystem.ERROR_MUST_SELECT_NOMAL);
                }

                // weekend
                if (oTRequestViewModel.OTDate != null && _commonService.isWeekend(oTRequestViewModel.OTDate.Value) && oTRequestViewModel.OTDateTypeID != CommonConstants.OTDateTypeWeekend)
                {
                    return request.CreateResponse(HttpStatusCode.BadRequest, oTRequestViewModel.OTDate.Value.Date.ToString("dd/MM/yyyy",
                                                                                                                           CultureInfo.InvariantCulture) + " is " + oTRequestViewModel.OTDate.Value.DayOfWeek + ", " + MessageSystem.ERROR_MUST_SELECT_WEEKEND);
                }

                //holiday
                if (oTRequestViewModel.OTDate != null && _commonService.isHoliday(oTRequestViewModel.OTDate.Value) && oTRequestViewModel.OTDateTypeID != CommonConstants.OTDateTypeHoliDay)
                {
                    return request.CreateResponse(HttpStatusCode.BadRequest, oTRequestViewModel.OTDate.Value.Date.ToString("dd/MM/yyyy",
                                                                                                                           CultureInfo.InvariantCulture) + " is " + oTRequestViewModel.OTDate.Value.DayOfWeek + ", " + MessageSystem.ERROR_MUST_SELECT_HOLIDAY);
                }
                else
                {
                    if (TimeSpan.ParseExact(oTRequestViewModel.StartTime, @"hh\:mm", CultureInfo.InvariantCulture) > TimeSpan.ParseExact(oTRequestViewModel.EndTime, @"hh\:mm", CultureInfo.InvariantCulture))
                    {
                        return request.CreateErrorResponse(HttpStatusCode.BadRequest, MessageSystem.StartTimeCompareEndTime);
                    }
                    var checkCondition = _otrequestService.CheckConditionCreate(oTRequestViewModel.OTDateTypeID, oTRequestViewModel.OTTimeTypeID, oTRequestViewModel.StartTime, oTRequestViewModel.EndTime);
                    if (!string.IsNullOrEmpty(checkCondition))
                    {
                        return request.CreateErrorResponse(HttpStatusCode.BadRequest, checkCondition);
                    }
                    else
                    {
                        if (model.OTDate == oTRequestViewModel.OTDate)
                        {
                            model.EditOTRequest(oTRequestViewModel);
                            _otrequestService.UpdateOTRequest(model);
                            response = request.CreateResponse(HttpStatusCode.OK, "done");
                            return response;
                        }
                        model.EditOTRequest(oTRequestViewModel);
                        if (_otrequestService.CheckOtRequestUser(model, oTRequestViewModel.OTRequestUserID.ToList()) == true)
                        {
                            _otrequestService.UpdateOTRequest(model);
                            response = request.CreateResponse(HttpStatusCode.OK, "done");
                            return response;
                        }
                        else
                        {
                            response = request.CreateResponse(HttpStatusCode.BadRequest, MessageSystem.ERROR_CANNOT_CREATE_OT_EXIST);
                        }
                    }
                }
                return response;
            }));
        }