private void ConvertToWOTrack(WOMutationViewModel WOVM, TWOTrack woTrack)
 {
     woTrack.WOId               = _woTasks.One(WOVM.MutationWOId);
     woTrack.WOTrackFrom        = User.Identity.Name;
     woTrack.WOTrackTo          = WOVM.UserName;
     woTrack.WOTrackDate        = DateTime.Now;
     woTrack.WOTrackIsConfirmed = false;
 }
        public void ConfirmTrack(TWOTrack woTrack)
        {
            _woTrackRepository.DbContext.BeginTransaction();
            _woTrackRepository.Update(woTrack);

            //update wo last track
            TWO wo = woTrack.WOId;

            wo.WOUnitLastTrack = woTrack.WOTrackTo;
            _woRepository.Update(wo);

            _woTrackRepository.DbContext.CommitTransaction();
        }
        //[Authorize(Roles = "ADMINISTRATOR, SUPERVISOR, CS")]
        public ActionResult WOMutation([DataSourceRequest] DataSourceRequest request, WOMutationViewModel WOVM, FormCollection formCol)
        {
            if (WOVM != null && ModelState.IsValid)
            {
                TWOTrack woTrack = new TWOTrack();
                woTrack.SetAssignedIdTo(Guid.NewGuid().ToString());

                ConvertToWOTrack(WOVM, woTrack);

                woTrack.CreatedDate = DateTime.Now;
                woTrack.CreatedBy   = User.Identity.Name;
                woTrack.DataStatus  = "New";

                _woTrackTasks.Insert(woTrack);
            }

            return(Json(new[] { WOVM }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult ApproveWOMutation(string random, string woTrackId)
        {
            string msg     = string.Empty;
            bool   success = false;

            try
            {
                //get woTrack by woTrackId
                TWOTrack woTrack = this._woTrackTasks.One(woTrackId);
                //save woTrack
                if (woTrack != null)
                {
                    woTrack.WOTrackIsConfirmed   = true;
                    woTrack.WOTrackConfirmedDate = DateTime.Now;
                    woTrack.WOTrackDesc          = "";

                    woTrack.ModifiedDate = DateTime.Now;
                    woTrack.ModifiedBy   = User.Identity.Name;
                    woTrack.DataStatus   = "Update";
                    _woTrackTasks.ConfirmTrack(woTrack);

                    SaveLog(woTrack.WOId, EnumWOLog.Mutation);
                }

                success = true;
                msg     = "Mutasi Unit berhasil";
            }
            catch (Exception ex)
            {
                success = false;
                msg     = ex.GetBaseException().Message;
            }
            var e = new
            {
                Success = success,
                Message = msg
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
        }