public IApiResult Create(CreateShare operation)
        {
            // check if the customer has type if not add it then add it on share
            // check if the document contain more than one policy holder ben then allow update share type
            GetCustomerTypes customerTypes = new GetCustomerTypes();

            customerTypes.CustomerID = operation.CustomerId;
            var typesResult = customerTypes.QueryAsync().Result;
            var types       = (List <CustomerType>)typesResult;
            int index       = types.FindIndex(item => item.LocCustomerType == operation.LocShareType);

            if (index >= 0)
            {
                var result = operation.ExecuteAsync().Result;
                if (result is ValidationsOutput)
                {
                    return(new ApiResult <List <ValidationItem> >()
                    {
                        Data = ((ValidationsOutput)result).Errors
                    });
                }
                else
                {
                    return(new ApiResult <object>()
                    {
                        Status = ApiResult <object> .ApiStatus.Success, ID = ((ComplateOperation <int>)result).ID.Value
                    });
                }
            }
            else
            {
                CustomerType policyHolder = new CustomerType();

                policyHolder.CustomerID      = operation.CustomerId;
                policyHolder.LocCustomerType = operation.LocShareType;
                policyHolder.CreatedBy       = operation.CreatedBy;
                policyHolder.CreationDate    = operation.CreationDate;
                // insert customer as policy holder
                var policyHolderResult = AddUpdateCustomerContacts.AddUpdateMode(policyHolder);
                var result             = operation.ExecuteAsync().Result;
                if (result is ValidationsOutput)
                {
                    return(new ApiResult <List <ValidationItem> >()
                    {
                        Data = ((ValidationsOutput)result).Errors
                    });
                }
                else
                {
                    return(new ApiResult <object>()
                    {
                        Status = ApiResult <object> .ApiStatus.Success, ID = ((ComplateOperation <int>)result).ID.Value
                    });
                }
            }
        }
示例#2
0
 public IActionResult CreateShare(string patId, string shareTypeId)
 {
     using (var def = new DoctorContext())
     {
         var         UserNo      = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
         var         UserName    = HttpContext.User.FindFirst("DisplayName").Value;
         var         users       = UsersInfo.Users;
         CreateShare createShare = new CreateShare()
         {
             PatId = patId,
             Users = (from u in users
                      select new SelectListItem()
             {
                 Text = u.UserName,
                 Value = u.UserNo,
                 Selected = false
             }).ToList(),
             UserName    = UserName,
             CreateDate  = DateTime.Now,
             ShareTypeId = shareTypeId
         };
         return(View(createShare));
     }
 }