예제 #1
0
        public static DailyVehicleBeatViewModel ToVm(this DailyVehicleBeat model, DailyVehicleBeatViewModel vm = null)
        {
            if (vm == null)
            {
                vm = new DailyVehicleBeatViewModel();
            }

            vm.Id            = model.Id;
            vm.VehicleId     = model.VehicleId;
            vm.VehicleNumber = model.Vehicle.RegistrationNo;

            vm.RouteId = model.RouteId;
            vm.Route   = model.Route.RouteCode;

            vm.Date           = model.Date;
            vm.StartingMilage = model.StartingMilage.HasValue?model.StartingMilage.Value:0;
            vm.EndMilage      = model.EndMilage.HasValue ? model.EndMilage.Value : 0;
            vm.Status         = (DailyBeatStatus)model.Status;
            vm.StatusInText   = EnumHelper.GetEnumDescription(vm.Status);
            vm.EndMilage      = model.EndMilage;
            vm.CreatedOn      = model.CreatedOn;
            vm.CreatedBy      = model.CreatedBy;
            vm.UpdatedOn      = model.UpdatedOn;
            vm.UpdatedBy      = model.UpdatedBy;
            vm.IsActive       = model.IsActive;

            return(vm);
        }
예제 #2
0
        public async Task <ActionResult> Post([FromBody] DailyVehicleBeatViewModel vm)
        {
            var userName = identityService.GetUserName();
            var response = await _vehicleBeatService.SaveDailyVehicleBeatRecord(vm, userName);

            return(Ok(response));
        }
예제 #3
0
        public async Task <ResponseViewModel> SaveDailyVehicleBeatRecord(DailyVehicleBeatViewModel vm, string userName)
        {
            var response = new ResponseViewModel();

            try
            {
                var user = _userService.GetUserByUsername(userName);
                if (vm.Id == 0)
                {
                    var model = vm.ToModel();
                    model.CreatedBy = user.Id;
                    model.UpdatedBy = user.Id;

                    _db.DailyVehicleBeats.Add(model);

                    await _db.SaveChangesAsync();

                    response.IsSuccess = true;
                    response.Message   = "New Vehicle Beat record has been added successfully.";
                }
                else
                {
                    var model = _db.DailyVehicleBeats.FirstOrDefault(t => t.Id == vm.Id);
                    model.StartingMilage = vm.StartingMilage;
                    model.EndMilage      = vm.EndMilage;
                    model.Status         = (int)vm.Status;
                    model.VehicleId      = vm.VehicleId;
                    model.RouteId        = vm.RouteId;
                    model.EndMilage      = vm.EndMilage;
                    model.UpdatedBy      = user.Id;
                    model.UpdatedOn      = DateTime.UtcNow;

                    _db.DailyVehicleBeats.Update(model);

                    await _db.SaveChangesAsync();

                    response.IsSuccess = true;
                    response.Message   = "Selected Vehicle Beat record has been updated successfully.";
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString());
                response.IsSuccess = false;
                response.Message   = "Error has been occured.Please try again";
            }

            return(response);
        }
예제 #4
0
        public static DailyVehicleBeat ToModel(this DailyVehicleBeatViewModel vm, DailyVehicleBeat model = null)
        {
            if (model == null)
            {
                model = new DailyVehicleBeat();
            }

            model.Id             = vm.Id;
            model.VehicleId      = vm.VehicleId;
            model.RouteId        = vm.RouteId;
            model.Date           = vm.Date;
            model.Status         = (int)vm.Status;
            model.StartingMilage = vm.StartingMilage;
            model.EndMilage      = vm.EndMilage;
            model.CreatedOn      = DateTime.UtcNow;
            model.CreatedBy      = vm.CreatedBy;
            model.UpdatedOn      = DateTime.UtcNow;
            model.UpdatedBy      = vm.UpdatedBy;
            model.IsActive       = true;

            return(model);
        }