Esempio n. 1
0
        /// <summary>
        /// 新建工单
        /// </summary>
        /// <param name="input"></param>
        public WorkOrderBill Create(CreateOrUpdateWorkOrderInput input)
        {
            //产品
            var product = _productRepository.Get(input.ProductId);
            //新建或编辑客户
            //Customer customer = CreateOrUpdateCustomer(input);
            var customer = _customerDomainService.Get(input.CustomerId);

            //新建工单
            var workOrder = input.MapTo <WorkOrderBill>();

            workOrder.Customer     = customer;
            workOrder.CustomerName = customer.Name;
            workOrder.CustomerCode = customer.Code;
            workOrder.CustomerArea = input.CustomerArea;

            workOrder.Product = product;
            //workOrder.ProductName = product.Name;
            //workOrder.ProductMode = product.Model;

            if (input.Description == null)
            {
                workOrder.Description = "";
            }
            else
            {
                workOrder.Description = input.Description.Trim();
            }


            _workOrderManager.Create(workOrder);

            //记录新建活动
            var user           = AsyncHelper.RunSync(() => UserManager.GetUserByIdAsync(UserManager.AbpSession.UserId.Value));
            var createActivity = new Activity()
            {
                Bill     = workOrder,
                Operater = user,
                Name     = "新建",
                Log      = string.Format("【{0}】 为客户【{1}】创建了【{2}】工单。",
                                         user.Name, workOrder.Customer.Name, workOrder.ServiceType.Equals(ServiceType.Install) ? "安装" : "维修")
            };

            _workOrderManager.AddActivity(createActivity);
            return(workOrder);
        }
 public CustomerDTO Get(int id)
 {
     return(_customerDomainService.Get(id));
 }