public string SaveFirstStepInfo(Guid?orderId, string subOrdersString, string comment)
        {
            var returnObject = new AJAXReturnObject();

            using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
            {
                try
                {
                    var order = new CompanyOrder();
                    if (orderId == null)
                    {
                        var company = _companyService.GetById(WorkContext.CurrentMembershipUser.Company.Id);
                        order = new CompanyOrder
                        {
                            CreatedBy = WorkContext.CurrentMembershipUser.Username,
                            Company   = company,
                        };
                    }
                    else
                    {
                        order           = _companyOrderService.GetById(new Guid(orderId.ToString()));
                        order.UpdatedBy = WorkContext.CurrentMembershipUser.Username;
                    }


                    order.Comment = comment;
                    string[] subOrderIds = subOrdersString.Split(',');
                    if (subOrderIds.Length > 0)
                    {
                        foreach (var subOrderId in subOrderIds)
                        {
                            var subOrder = _companySubOrderService.GetById(new Guid(subOrderId));
                            order.SubOrders.Add(subOrder);
                        }
                    }
                    if (orderId == null)
                    {
                        _companyOrderService.Add(order);
                    }
                    unitOfWork.Commit();
                    orderId = order.Id;
                }
                catch (Exception ex)
                {
                    returnObject.Status  = AJAXReturnResult.Failed;
                    returnObject.Message = ex.Message;
                }
            }
            return("{\"Status\":\"0\",\"orderId\":\"" + orderId + "\"}");
        }
        public string CreateNewSubOrder(DateTime date, string comment)
        {
            var returnObject = new AJAXReturnObject();

            try
            {
                using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
                {
                    IList <CompanySubOrder> orders = _companySubOrderService.GetByDate(date, date.AddDays(1));
                    if (orders.Count > 0)
                    {
                        returnObject.Status  = AJAXReturnResult.Failed;
                        returnObject.Message = "您预定的日期已被其他企业预定。";
                    }
                    else
                    {
                        Category        initStatus = _categoryService.GetById(17);
                        var             company    = _companyService.GetById(WorkContext.CurrentMembershipUser.Company.Id);
                        CompanySubOrder order      = new CompanySubOrder
                        {
                            StartDate   = date,
                            EndDate     = date.AddDays(1),
                            BookStatus  = initStatus,
                            Comment     = comment,
                            Company     = company,
                            CreatedBy   = WorkContext.CurrentMembershipUser.Username,
                            ParentOrder = null
                        };
                        _companySubOrderService.Add(order);

                        try
                        {
                            unitOfWork.Commit();
                        }
                        catch (Exception ex)
                        {
                            unitOfWork.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                returnObject.Status  = AJAXReturnResult.Failed;
                returnObject.Message = ex.Message;
            }

            return(JsonHelper.SerializeToJson(returnObject));
        }
Example #3
0
        public string SaveCalendar(List <HospitalCalendarViewModel> calendarData)
        {
            var returnObject = new AJAXReturnObject();

            try
            {
                using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
                {
                    HospitalCalendar entity = new HospitalCalendar();
                    foreach (var item in calendarData)
                    {
                        if (item.Id != null)
                        {
                            entity           = _hospitalCalendarService.GetById(new Guid(item.Id.ToString()));
                            entity.Enabled   = item.Enabled;
                            entity.UpdatedBy = WorkContext.CurrentMembershipUser.Username;
                        }
                        else
                        {
                            entity           = new HospitalCalendar();
                            entity.Enabled   = item.Enabled;
                            entity.CreatedBy = entity.UpdatedBy = WorkContext.CurrentMembershipUser.Username;
                            entity.StartDate = item.StartDate;
                            entity.EndDate   = item.EndDate;
                            _hospitalCalendarService.AddCalendar(entity);
                        }
                        unitOfWork.SaveChanges();
                    }
                    unitOfWork.Commit();
                }
            }
            catch (Exception ex)
            {
                returnObject.Status  = AJAXReturnResult.Failed;
                returnObject.Message = ex.Message;
            }

            return(JsonHelper.SerializeToJson(returnObject));
        }