Exemplo n.º 1
0
        public ServiceBookingDto GetDto()
        {
            ServiceBookingDto request = new ServiceBookingDto
            {
                ServiceDate    = ServiceDate,
                ServiceHistory = ServiceHistory
            };

            if (FirstRegNumber != null)
            {
                request.RegNumbers.Add(FirstRegNumber);
            }

            if (SecondRegNumber != null)
            {
                request.RegNumbers.Add(SecondRegNumber);
            }

            if (ThirdRegNumber != null)
            {
                request.RegNumbers.Add(ThirdRegNumber);
            }

            return(request);
        }
 public ActionResult BookService(ServiceBookingModel serviceBookingModel)
 {
     using (HttpClient client = new HttpClient())
     {
         client.DefaultRequestHeaders.Add("Authorization", Session["TokenKey"].ToString());
         ServiceBookingDto request = serviceBookingModel.GetDto();
         var jsonRequestString     = JsonConvert.SerializeObject(request);
         var stringContent         = new StringContent(jsonRequestString, Encoding.UTF8, "application/json");
         var response = client.PostAsync(endPoints.BookService, stringContent).Result;
     }
     ViewBag.Message = "Service has been booked!";
     return(View("Home"));
 }
        public IHttpActionResult BookService(ServiceBookingDto serviceBookingDto)
        {
            {
                var      factory = new VehicleFactory();
                IService service = factory.CreateService(serviceBookingDto.ServiceDate, serviceBookingDto.ServiceHistory);

                List <IVehicle> vehicles = new List <IVehicle>();
                foreach (string registrationNumber in serviceBookingDto.RegNumbers)
                {
                    vehicles.Add(vehicleRepository.GetVehicle(registrationNumber));
                }

                vehicles = vehicleService.BookService(service, vehicles);

                foreach (IVehicle vehicle in vehicles)
                {
                    vehicleRepository.UpdateVehicle(vehicle);
                }
                return(Ok());
            }
        }
Exemplo n.º 4
0
        public ResModel AddServiceBooking(ServiceBookingDto serviceBookingDto, UserDto operationUser)
        {
            using (var db = new ModelContext())
            {
                var billNo      = "";
                var lastIndex   = 0;
                var dateFormat  = "";
                var index       = 0;
                var indexStr    = "";
                var bookingBill = db.BillNoSetting.FirstOrDefault(i => i.Name == BillTypeName.预约单号.ToString());
                if (bookingBill.DailyReset)
                {
                    var lastBooking = db.ServiceBooking.Where(i => i.CreateTime.Value.Day == DateTime.Now.Day).OrderByDescending(i => i.CreateTime).FirstOrDefault();
                    lastIndex = lastBooking?.BillNoIndex ?? 0;
                }
                else
                {
                    var lastBooking = db.ServiceBooking.OrderByDescending(i => i.CreateTime).FirstOrDefault();
                    lastIndex = lastBooking?.BillNoIndex ?? 0;
                }
                index    = lastIndex + 1;
                indexStr = index.ToString();
                switch (bookingBill.SerNoLength)
                {
                case BillSerNoLength.两位:
                    indexStr = indexStr.PadLeft(2, '0');
                    break;

                case BillSerNoLength.位:
                    indexStr = indexStr.PadLeft(3, '0');
                    break;

                case BillSerNoLength.四位:
                    indexStr = indexStr.PadLeft(4, '0');
                    break;

                case BillSerNoLength.五位:
                    indexStr = indexStr.PadLeft(5, '0');
                    break;

                case BillSerNoLength.六位:
                    indexStr = indexStr.PadLeft(6, '0');
                    break;
                }
                switch (bookingBill.DateFormat)
                {
                case BillDateFormat.简洁年月日:
                    dateFormat = DateTime.Now.ToString("yyMMdd");
                    break;

                case BillDateFormat.完整年月日:
                    dateFormat = DateTime.Now.ToString("yyyyMMdd");
                    break;

                case BillDateFormat.无:
                    dateFormat = "";
                    break;
                }
                billNo = bookingBill.Prefix + dateFormat + indexStr;
                var serviceBooking = new ServiceBooking()
                {
                    Id                  = Guid.NewGuid(),
                    BillNo              = billNo,
                    BillNoIndex         = index,
                    BookingCreateTime   = DateTime.Now,
                    ServiceBookingState = ServiceBookingState.待接车,
                    ServiceRepairTime   = serviceBookingDto.ServiceRepairTime,
                    CarId               = serviceBookingDto.CarId,
                    ContactName         = serviceBookingDto.ContactName,
                    ContactPhone        = serviceBookingDto.ContactPhone,
                    ContactAddress      = serviceBookingDto.ContactAddress,
                    CompanyName         = serviceBookingDto.CompanyName,
                    ServiceAdvisorId    = serviceBookingDto.ServiceAdvisorId,
                    RepairTypeId        = serviceBookingDto.RepairTypeId,
                    CustomerDescription = serviceBookingDto.CustomerDescription,
                    RepairDescription   = serviceBookingDto.RepairDescription,
                    Remark              = serviceBookingDto.Remark,
                    CreateTime          = DateTime.Now
                };
                var estimateRepairParts = serviceBookingDto.EstimateRepairParts.Select(i => new EstimateRepairParts()
                {
                    Id      = Guid.NewGuid(),
                    PartsId = i.PartsId,
                    ServiceAccountTypeId = i.ServiceAccountTypeId,
                    ServiceBookingId     = serviceBooking.Id,
                    Count = i.Count,
                    Price = i.Price
                });
                var serviceRepairItem = serviceBookingDto.ServiceRepairItem.Select(i => new ServiceRepairItem()
                {
                    Id                   = Guid.NewGuid(),
                    RepairItemId         = i.RepairItemId,
                    WorkHour             = i.WorkHour,
                    Price                = i.Price,
                    ServiceBookingId     = serviceBooking.Id,
                    ServiceAccountTypeId = i.ServiceAccountTypeId,
                    Description          = i.Description
                });
                using (var scope = new TransactionScope())
                {
                    try
                    {
                        db.ServiceBooking.Add(serviceBooking);
                        db.SaveChanges();
                        db.EstimateRepairParts.AddRange(estimateRepairParts);
                        db.ServiceRepairItem.AddRange(serviceRepairItem);
                        db.SaveChanges();
                        scope.Complete();
                    }
                    catch (Exception e)
                    {
                        return(new ResModel()
                        {
                            Msg = "添加添加失败", Success = false
                        });
                    }
                    return(new ResModel()
                    {
                        Msg = "添加添加成功", Success = true
                    });
                }
            }
        }
Exemplo n.º 5
0
        public ResModel UpdateServiceBooking(ServiceBookingDto serviceBookingDto, UserDto operationUser)
        {
            using (var db = new ModelContext())
            {
                var serviceBooking = db.ServiceBooking.FirstOrDefault(i => i.Id == serviceBookingDto.Id);
                if (serviceBooking == null)
                {
                    return(new ResModel()
                    {
                        Msg = "更新预约单失败,未找到该预约单", Success = false
                    });
                }

                var estimateRepairParts = serviceBookingDto.EstimateRepairParts.Select(i => new EstimateRepairParts()
                {
                    Id                   = Guid.NewGuid(),
                    PartsId              = i.PartsId,
                    ServiceBookingId     = serviceBooking.Id,
                    Count                = i.Count,
                    Price                = i.Price,
                    ServiceAccountTypeId = i.ServiceAccountTypeId
                });
                var serviceRepairItem = serviceBookingDto.ServiceRepairItem.Select(i => new ServiceRepairItem()
                {
                    Id                   = Guid.NewGuid(),
                    RepairItemId         = i.RepairItemId,
                    WorkHour             = i.WorkHour,
                    Price                = i.Price,
                    ServiceBookingId     = serviceBooking.Id,
                    ServiceAccountTypeId = i.ServiceAccountTypeId,
                    Description          = i.Description
                });
                using (var scope = new TransactionScope())
                {
                    try
                    {
                        serviceBooking.ServiceRepairTime   = serviceBookingDto.ServiceRepairTime;
                        serviceBooking.CarId               = serviceBookingDto.CarId;
                        serviceBooking.ContactName         = serviceBookingDto.ContactName;
                        serviceBooking.ContactPhone        = serviceBookingDto.ContactPhone;
                        serviceBooking.ContactAddress      = serviceBookingDto.ContactAddress;
                        serviceBooking.CompanyName         = serviceBookingDto.CompanyName;
                        serviceBooking.ServiceAdvisorId    = serviceBookingDto.ServiceAdvisorId;
                        serviceBooking.RepairTypeId        = serviceBookingDto.RepairTypeId;
                        serviceBooking.CustomerDescription = serviceBookingDto.CustomerDescription;
                        serviceBooking.RepairDescription   = serviceBookingDto.RepairDescription;
                        serviceBooking.Remark              = serviceBookingDto.Remark;

                        db.EstimateRepairParts.RemoveRange(serviceBooking.EstimateRepairParts);
                        db.ServiceRepairItem.RemoveRange(serviceBooking.ServiceRepairItem);
                        db.SaveChanges();
                        db.EstimateRepairParts.AddRange(estimateRepairParts);
                        db.ServiceRepairItem.AddRange(serviceRepairItem);
                        db.SaveChanges();
                        scope.Complete();
                    }
                    catch (Exception e)
                    {
                        return(new ResModel()
                        {
                            Msg = "更新预约单失败", Success = false
                        });
                    }
                    return(new ResModel()
                    {
                        Msg = "更新预约单成功", Success = true
                    });
                }
            }
        }
Exemplo n.º 6
0
        public ActionResult Create(ServiceBookingDto serviceBookingDto)
        {
            var currrentUser = Session["LogUser"] as UserDto;

            return(Json(_serviceBookingService.AddServiceBooking(serviceBookingDto, currrentUser)));
        }
Exemplo n.º 7
0
 public ResModel UpdateServiceBooking(ServiceBookingDto serviceBookingDto, UserDto operationUser)
 {
     return(_serviceBookingRepository.UpdateServiceBooking(serviceBookingDto, operationUser));
 }