示例#1
0
        public object Post(SampleModel model)
        {
            if (model == null)
            {
                return Failed("申请样品为空");
            }
            if (model.CustomerModel.Id == Guid.Empty || model.ProductModel.Id == Guid.Empty || model.ProductModel.Id == Guid.Empty || model.Qty == null)
            {
                return Failed("客户、产品、数量必须填写完整");
            }
            var currentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            var currentPosition =
                _employeesService.GetEmployee(HttpContext.Current.User.Identity.GetUser().EmployeeId)
                    .EmployeePostions.Where(
                        n => n.StartDate <= currentDate && (n.EndDate == null || n.EndDate >= currentDate) && n.IsDeleted == false)
                    .Select(n => n.Position)
                    .FirstOrDefault();
            if (currentPosition == null)
            {
                return Failed("找不到Position");
            }
            var parentRole =
                _auditLevelService.GetAuditLevels()
                    .Where(n => n.RoleId == currentPosition.Role.Id)
                    .Select(n => n.ParentRole).FirstOrDefault();
            if (parentRole == null)
            {
                return Failed("找不到上级审核人");
            }
            try
            {
                _sampleService.Insert(new Sample
                {
                    Id = Guid.NewGuid(),
                    CustomerId = model.CustomerModel.Id,
                    ProductId = model.ProductModel.Id,
                    Qty = Convert.ToDecimal(model.Qty),
                    PositionId = currentPosition.Id,
                    Remark = model.Remark,
                    SampleReviews = new List<SampleReview>
                    {
                        new SampleReview {Id = Guid.NewGuid(), SendToRoleId = parentRole.Id}
                    }
                });
                return Success();
            }
            catch (Exception ex)
            {
                return Failed(ex.Message);
            }

        }
示例#2
0
        public object Put(Guid id, SampleModel model)
        {
            var item = _sampleService.GetSample(id);
            if (item == null)
            {
                return Failed("找不到申请记录");
            }
            if (model == null)
            {
                return Failed("申请样品为空");
            }
            if (model.CustomerModel.Id == Guid.Empty || model.ProductModel.Id == Guid.Empty || model.ProductModel.Id == Guid.Empty || model.Qty == null)
            {
                return Failed("客户、产品、数量必须填写完整");
            }
            var currentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            var currentPosition =
                _employeesService.GetEmployee(HttpContext.Current.User.Identity.GetUser().EmployeeId)
                    .EmployeePostions.Where(
                        n => n.StartDate <= currentDate && (n.EndDate == null || n.EndDate >= currentDate) && n.IsDeleted == false)
                    .Select(n => n.Position)
                    .FirstOrDefault();
            if (currentPosition == null)
            {
                return Failed("找不到Position");
            }
            var parentRole =
                _auditLevelService.GetAuditLevels()
                    .Where(n => n.RoleId == currentPosition.Role.Id)
                    .Select(n => n.ParentRole).FirstOrDefault();
            //修改并提交
            if (currentPosition.Parent == null)
            {
                item.Qty = model.Qty.Value;
                item.IsApproved = true;
                var currentSampleReview = item.SampleReviews.OrderByDescending(n => n.CreatedTime).FirstOrDefault();
                if (currentSampleReview != null)
                {
                    currentSampleReview.IsDeleted = true;
                }
                try
                {
                    _sampleService.Update();
                    return Success();
                }
                catch (Exception ex)
                {
                    return Failed(ex.Message);
                }


            }
            else if (parentRole == null)
            {
                return Failed("找不到上级审核人");
            }
            else
            {
                try
                {
                    item.Qty = model.Qty.Value;
                    item.SampleReviews.Add(new SampleReview { Id = Guid.NewGuid(), SendToRoleId = parentRole.Id });
                    _sampleService.Update();
                    return Success();
                }
                catch (Exception ex)
                {
                    return Failed(ex.Message);
                }
            }

        }