Ejemplo n.º 1
0
 /// <summary>
 /// this method is used for adding ICR.- JJ
 /// </summary>
 /// <param name="itemChangedDetail">object of ItemChangedDetailsAC</param>
 /// <param name="user">object of UserDetail</param>
 /// <param name="company"></param>
 /// <param name="WorkFlowId"></param>
 /// <returns>status</returns>
 public string SaveICR(ItemChangedDetailsAC itemChangedDetail, UserDetail user, CompanyDetail company, int?WorkFlowId)
 {
     try
     {
         var ParentRecordId = 0;
         if (itemChangedDetail.IsInDirect)
         {
             ParentRecordId = (int)itemChangedDetail.ParentRecordId;
             itemChangedDetail.IsPOItemIcr = true;
         }
         else
         {
             var workFlowLog = _IWorkFlowDetailsRepository.GetInitiationActionWorkFlow(StringConstants.ItemChangeRequest, StringConstants.InitiateICR, user, company, itemChangedDetail, itemChangedDetail.Comment, itemChangedDetail);
             if (workFlowLog != null)
             {
                 WorkFlowLog log = (WorkFlowLog)workFlowLog.Item1;
                 ParentRecordId = log.RecordId;
                 WorkFlowDetail WorkFlow = (WorkFlowDetail)workFlowLog.Item2;
                 WorkFlowId = WorkFlow.Id;
             }
             else
             {
                 return(StringConstants.WorkFlowNotCreated);
             }
         }
         return(AddICR(itemChangedDetail, ParentRecordId, WorkFlowId, company, user));
     }
     catch (Exception ex)
     {
         _errorLog.LogException(ex);
         throw;
     }
 }
Ejemplo n.º 2
0
        public int SaveWorkFlowDetails(WorkFlowDetail workFlowDetails)
        {
            try
            {
                if (workFlowDetails.Id != 0)
                {
                    var workFlowDetail = _workFlowDataRepository.GetById(workFlowDetails.Id);


                    workFlowDetail.WorkFlowId    = workFlowDetails.WorkFlowId;
                    workFlowDetail.InitiatorId   = workFlowDetails.InitiatorId;
                    workFlowDetail.AssignedId    = workFlowDetails.AssignedId;
                    workFlowDetails.WorkFlowName = workFlowDetails.WorkFlowName;

                    workFlowDetail.IsApproval = workFlowDetails.IsApproval;
                    workFlowDetail.IsReview   = workFlowDetails.IsReview;

                    workFlowDetail.ActivityId             = workFlowDetails.ActivityId;
                    workFlowDetail.NextActivityId         = workFlowDetails.NextActivityId;
                    workFlowDetail.IsClosed               = workFlowDetails.IsClosed;
                    workFlowDetail.IsAllowOtherWorkFlow   = workFlowDetails.IsAllowOtherWorkFlow;
                    workFlowDetail.IsAllowOtherBranchUser = workFlowDetails.IsAllowOtherBranchUser;
                    workFlowDetail.OtherWorkFlowId        = workFlowDetails.OtherWorkFlowId;

                    workFlowDetail.ModifiedDateTime = DateTime.UtcNow;
                    _workFlowDataRepository.Update(workFlowDetail);
                    _workFlowDataRepository.SaveChanges();
                    return(workFlowDetail.Id);
                }
                else
                {
                    workFlowDetails.CreatedDateTime = DateTime.UtcNow;
                    _workFlowDataRepository.Add(workFlowDetails);
                    _workFlowDataRepository.SaveChanges();
                    return(workFlowDetails.Id);
                }
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
 private WorkFlowLog SaveWorkFlowDetails(WorkFlowDetail workFlowCurrentDetails, DomainModel.Models.IncidentReport.PosIncidentReport incidentReportInfo, UserDetail userDetails, string comment, string action)
 {
     try
     {
         WorkFlowLog workFlowLog = new WorkFlowLog();
         workFlowLog.Comments        = comment;
         workFlowLog.CreatedDateTime = DateTime.UtcNow;
         workFlowLog.RecordId        = (int)incidentReportInfo.RecordId;
         workFlowLog.RoleId          = userDetails.RoleId;
         workFlowLog.UserId          = userDetails.UserId;
         workFlowLog.WorkFlowId      = workFlowCurrentDetails.Id;
         workFlowLog.Action          = action;
         workFlowLog.Stage           = (userDetails.RoleName) + " " + (workFlowCurrentDetails.Activity != null ? workFlowCurrentDetails.Activity.Name : "");
         _workFLowLogContext.Add(workFlowLog);
         _workFLowLogContext.SaveChanges();
         return(workFlowLog);
     }
     catch (Exception ex)
     {
         _errorLog.LogException(ex);
         throw;
     }
 }
        private DomainModel.Models.IncidentReport.PosIncidentReport SaveIncidentReportDetails(DomainModel.Models.IncidentReport.PosIncidentReport incidentReportInfo, WorkFlowDetail activityWorkFlow, string comment, UserDetail userDetail)
        {
            try
            {
                if (incidentReportInfo != null)
                {
                    ParentRecord parentRecord = new ParentRecord();
                    parentRecord.BranchId          = incidentReportInfo.BranchId;
                    parentRecord.CreatedDateTime   = DateTime.UtcNow;
                    parentRecord.InitiationComment = comment;
                    parentRecord.InitiationDate    = DateTime.UtcNow;
                    parentRecord.ModificationDate  = DateTime.UtcNow;
                    parentRecord.InitiatorId       = userDetail.UserId;
                    parentRecord.ModifiedUserId    = userDetail.UserId;
                    parentRecord.WorkFlowId        = activityWorkFlow.Id;
                    _parentRecordContext.Add(parentRecord);
                    _parentRecordContext.SaveChanges();

                    if (parentRecord.Id != 0)
                    {
                        WorkFlowLog workFlowLog = new WorkFlowLog();
                        workFlowLog.Comments        = comment;
                        workFlowLog.CreatedDateTime = DateTime.UtcNow;
                        workFlowLog.RecordId        = parentRecord.Id;
                        workFlowLog.RoleId          = userDetail.RoleId;
                        workFlowLog.UserId          = userDetail.UserId;
                        workFlowLog.WorkFlowId      = activityWorkFlow.Id;
                        workFlowLog.Action          = StringConstants.InitiateAction;
                        workFlowLog.Stage           = (userDetail.RoleName) + " " + (activityWorkFlow.Activity != null ? activityWorkFlow.Activity.Name : "");
                        _workFLowLogContext.Add(workFlowLog);
                        _workFLowLogContext.SaveChanges();

                        if (workFlowLog.Id != 0)
                        {
                            incidentReportInfo.IsProcess        = false;
                            incidentReportInfo.RecordId         = parentRecord.Id;
                            incidentReportInfo.ModifiedDateTime = DateTime.UtcNow;
                            _posIncidentReportDataRepository.Update(incidentReportInfo);
                            _posIncidentReportDataRepository.SaveChanges();
                        }
                    }
                    return(incidentReportInfo);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
 /// <summary>
 /// this method is used to get incident report details by id.
 /// </summary>
 /// <param name="incidentId"></param>
 /// <param name="userDetail"></param>
 /// <returns></returns>
 public PosIncidentReportAc GetIncidentReportDetailsById(int incidentId, UserDetail userDetail, bool isAllowToAccessAllBranch)
 {
     try
     {
         var incidentReportDetail = _posIncidentReportDataRepository.FirstOrDefault(x => x.Id == incidentId);
         var incidentAc           = new PosIncidentReportAc();
         incidentAc = ApplicationClassHelper.ConvertType <DomainModel.Models.IncidentReport.PosIncidentReport, PosIncidentReportAc>(incidentReportDetail);
         incidentAc.PosIncidentReportId = incidentReportDetail.Id;
         incidentAc.IncidentTypeName    = incidentReportDetail.IncidentTypes.ValueEn;
         incidentAc.LossValue           = incidentReportDetail.CommittedLossValue;
         incidentAc.GainValue           = incidentReportDetail.CommittedGainValue;
         incidentAc.ResolveQuantity     = incidentReportDetail.CommitedQuantity;
         incidentAc.ItemName            = incidentReportDetail.ItemProfile.ItemNameEn;
         incidentAc.BranchName          = incidentReportDetail.BranchDetail.Name;
         incidentAc.IsDisabledInfo      = true;
         incidentAc.CostPrice           = incidentReportDetail.ItemProfile.CostPrice;
         incidentAc.IncidentDate        = incidentReportDetail.CreatedDateTime.ToString("dd/MM/yyyy hh:mm");
         incidentAc.SellPrice           = incidentReportDetail.ItemProfile.SellPrice;
         var itemQuantityDetails =
             _itemQuantityContext.FirstOrDefault(x => x.ItemId == incidentReportDetail.ItemId && x.BranchId == incidentReportDetail.BranchId);
         if (itemQuantityDetails != null)
         {
             incidentAc.CurrentSystemQuantity = itemQuantityDetails.ActualQuantity;
         }
         var itemOfferDetail = new ItemOfferDetailAC
         {
             ItemId            = incidentReportDetail.ItemId,
             Barcode           = incidentReportDetail.ItemProfile.Barcode,
             ItemNameEn        = incidentReportDetail.ItemProfile.ItemNameEn,
             FlavourEn         = incidentReportDetail.ItemProfile.FlavourEn,
             ItemCode          = incidentReportDetail.ItemProfile.Code,
             SellPriceA        = incidentReportDetail.ItemProfile.SellPriceA,
             SellPrice         = incidentReportDetail.ItemProfile.SellPrice,
             SellPriceB        = incidentReportDetail.ItemProfile.SellPriceB,
             SellPriceC        = incidentReportDetail.ItemProfile.SellPriceC,
             SellPriceD        = incidentReportDetail.ItemProfile.SellPriceD,
             UnitType          = incidentReportDetail.ItemProfile.SystemParameter.ValueEn,
             BaseUnitCount     = incidentReportDetail.ItemProfile.BaseUnit,
             CostPrice         = incidentReportDetail.ItemProfile.CostPrice,
             ItemNameAr        = incidentReportDetail.ItemProfile.ItemNameSl,
             FlavourAr         = incidentReportDetail.ItemProfile.FlavourSl,
             ItemType          = incidentReportDetail.ItemProfile.Category.BrandParamType.ValueEn + "-" + incidentReportDetail.ItemProfile.Category.GroupParamType.ValueEn,
             IsOfferItem       = incidentReportDetail.ItemProfile.IsOfferItem == true ? "Yes" : "No",
             PreviousCostPrice = incidentReportDetail.ItemProfile.PreviousCostPrice,
             AverageCostPrice  = incidentReportDetail.ItemProfile.AverageCostPrice,
             IsActiveItem      = incidentReportDetail.ItemProfile.IsActive == true ? "Yes" : "No"
         };
         incidentAc.ItemDetails = itemOfferDetail;
         if (isAllowToAccessAllBranch)
         {
             incidentAc.IsCurrentUser = true;
         }
         else
         {
             if (incidentReportDetail.BranchId == userDetail.BranchId)
             {
                 incidentAc.IsCurrentUser = true;
             }
         }
         var workflowCollection = new List <WorkFlowActionAc>();
         if (incidentReportDetail.RecordId != null)
         {
             foreach (var workflowInfo in _workFLowLogContext.Fetch(x => x.RecordId == incidentReportDetail.RecordId).ToList())
             {
                 var workFlowActionAc = new WorkFlowActionAc();
                 workFlowActionAc.Stage            = workflowInfo.Stage;
                 workFlowActionAc.Action           = workflowInfo.Action;
                 workFlowActionAc.WorkFlowActionId = workflowInfo.Id;
                 workFlowActionAc.RoleName         = workflowInfo.RoleDetails.RoleName;
                 workFlowActionAc.Comment          = workflowInfo.Comments;
                 workFlowActionAc.ActionDate       = workflowInfo.CreatedDateTime.ToString("dd/MM/yyyy hh:mm");;
                 var userNames = _userDetailContext.FirstOrDefault(x => x.UserId == workflowInfo.UserId);
                 if (userNames != null)
                 {
                     workFlowActionAc.UserName = userNames.UserName;
                 }
                 workflowCollection.Add(workFlowActionAc);
             }
             incidentAc.WorkFlowAction = workflowCollection.OrderBy(x => x.WorkFlowActionId);
             var workFLowLastDetails = _workFLowLogContext.Fetch(x => x.RecordId == incidentReportDetail.RecordId).ToList().Last();
             if (incidentReportDetail.IsReject)
             {
                 var workFlowCurrentDetails =
                     _workFlowDetailContext.FirstOrDefault(x => x.Id == workFLowLastDetails.WorkFlowDetail.ParentActivityId);
                 if (workFlowCurrentDetails != null)
                 {
                     WorkFlowDetail workDetailsById = _workFlowDetailContext.FirstOrDefault(x => x.Id == workFlowCurrentDetails.ParentActivityId && x.AssignedId == userDetail.RoleId);
                     if (workDetailsById != null)
                     {
                         incidentAc.IsReview   = workDetailsById.IsReview;
                         incidentAc.IsApproval = workDetailsById.IsApproval;
                     }
                 }
             }
             else
             {
                 var workFlowCurrentDetails =
                     _workFlowDetailContext.FirstOrDefault(x => x.Id == workFLowLastDetails.WorkFlowId && x.AssignedId == userDetail.RoleId);
                 if (workFlowCurrentDetails != null)
                 {
                     incidentAc.IsReview   = workFlowCurrentDetails.IsReview;
                     incidentAc.IsApproval = workFlowCurrentDetails.IsApproval;
                 }
             }
         }
         return(incidentAc);
     }
     catch (Exception ex)
     {
         _errorLog.LogException(ex);
         throw;
     }
 }
        /// <summary>
        /// This method is used for save new  supplier return request in database. - JJ
        /// </summary>
        /// <param name="SupplierReturnRequest">object of SupplierReturnRequest</param>
        /// <param name="company">object of CompanyDetail</param>
        /// <param name="user">object of UserDetail</param>
        /// <returns>object of SupplierReturnRequest</returns>

        public SupplierReturnRequest SaveSupplierReturnRequest(SupplierReturnRequest SupplierReturnRequest, UserDetail user, CompanyDetail company)
        {
            try
            {
                var status = CheckSupplierConditions(SupplierReturnRequest.SupplierId, SupplierReturnRequest.SupplierReturnItemAC);
                if (status == "ok")
                {
                    var ParentRecordId = 0;
                    var workFlowLog    = _IWorkFlowDetailsRepository.GetInitiationActionWorkFlow(StringConstants.SupplierReturnRequest, StringConstants.InitiateSupplierReturnRequest, user, company, null, SupplierReturnRequest.InitiationComment, null);
                    if (workFlowLog != null)
                    {
                        WorkFlowLog    log            = (WorkFlowLog)workFlowLog.Item1;
                        WorkFlowDetail workFlowDetail = (WorkFlowDetail)workFlowLog.Item2;
                        ParentRecordId = log.RecordId;
                        var requestNo            = RequestNumberGenerator(company.Id);
                        var supplierReturnDetail = new SupplierReturnDetail
                        {
                            CreatedDateTime   = DateTime.UtcNow,
                            IsRejected        = false,
                            IsDeleted         = false,
                            RecordId          = ParentRecordId,
                            LastActivityDate  = DateTime.UtcNow,
                            SupplierId        = SupplierReturnRequest.SupplierId,
                            RequestNo         = requestNo,
                            BranchId          = SupplierReturnRequest.BranchId,
                            InitiatorId       = user.Id,
                            InitiationComment = SupplierReturnRequest.InitiationComment
                        };
                        _supplierReturnDetailContext.Add(supplierReturnDetail);
                        _supplierReturnDetailContext.SaveChanges();

                        foreach (var item in SupplierReturnRequest.SupplierReturnItemAC)
                        {
                            var supplierReturnItem = new SupplierReturnItem
                            {
                                CostPrice        = item.CostPrice,
                                CreatedDateTime  = DateTime.UtcNow,
                                ItemId           = item.ItemId,
                                ReturnQuantity   = item.ReturnQuantity,
                                SupplierReturnId = supplierReturnDetail.Id,
                                ReturnCauseId    = item.ReturnCauseId
                            };
                            _supplierReturnItemContext.Add(supplierReturnItem);
                            _supplierReturnItemContext.SaveChanges();

                            var itemProfile = _itemProfileContext.Find(item.ItemId);
                            itemProfile.IsSupplierReturnRequestGenerated = true;
                            _itemProfileContext.Update(itemProfile);
                            _itemProfileContext.SaveChanges();
                        }
                        SupplierReturnRequest.SupplierReturnId = supplierReturnDetail.Id;
                        var companyid = _branchDetailContext.Find(supplierReturnDetail.BranchId).CompanyId;
                        if (workFlowDetail.NextActivity.IsClosed)
                        {
                            var outcome = _ISupReturnWorkListRepository.IssueCreditNote(supplierReturnDetail.Id, supplierReturnDetail.BranchId, companyid, supplierReturnDetail.InitiationComment);
                            if (outcome)
                            {
                                SupplierReturnRequest.Status = "print";
                            }
                            else
                            {
                                SupplierReturnRequest.Status = "Error in Issueing Credit Note";
                            }
                            return(SupplierReturnRequest);
                        }
                        else
                        {
                            SupplierReturnRequest.Status = "ok";
                            return(SupplierReturnRequest);
                        }
                    }
                    else
                    {
                        SupplierReturnRequest.Status = StringConstants.WorkFlowNotCreated;
                        return(SupplierReturnRequest);
                    }
                }
                else
                {
                    SupplierReturnRequest.Status = status;
                    return(SupplierReturnRequest);
                }
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
Ejemplo n.º 7
0
        public int SaveWorkFlowActionDetails(WorkFlowDetail workFlowDetails)
        {
            try
            {
                if (workFlowDetails.Id != 0)
                {
                    var workFlowDetail = _workFlowDataRepository.GetById(workFlowDetails.Id);

                    //if (workFlowDetail.IsParentAction)
                    //{
                    int workFlowCount = _workFlowDataRepository.Fetch(x => x.ActivityId == workFlowDetails.ActivityId && x.Id != workFlowDetail.Id && x.InitiatorId == workFlowDetails.InitiatorId && x.ParentActivityId == 0).Count();
                    if (workFlowCount != 0)
                    {
                        throw new ArgumentException("WorkFlow already exists.");
                    }

                    workFlowDetail.WorkFlowId   = workFlowDetails.WorkFlowId;
                    workFlowDetail.InitiatorId  = workFlowDetails.InitiatorId;
                    workFlowDetail.AssignedId   = workFlowDetails.AssignedId;
                    workFlowDetail.WorkFlowName = workFlowDetails.WorkFlowName;
                    //workFlowDetail.OldStatusId = workFlowDetails.OldStatusId;
                    //workFlowDetail.NewStatusId = workFlowDetails.NewStatusId;
                    workFlowDetail.IsApproval = workFlowDetails.IsApproval;
                    workFlowDetail.IsReview   = workFlowDetails.IsReview;
                    // workFlowDetail.WorkFlowActionId = workFlowDetails.WorkFlowActionId;
                    // workFlowDetail.CompanyId = Convert.ToInt32(HttpContext.Current.Session["CompanyId"]),
                    workFlowDetail.ActivityId     = workFlowDetails.ActivityId;
                    workFlowDetail.NextActivityId = workFlowDetails.NextActivityId;
                    // workFlowDetail.ParentActivityId = workFlowDetails.P,
                    //workFlowDetail.Variable1 = workFlowDetails.Variable1;
                    //workFlowDetail.Variable2 = workFlowDetails.Variable2;
                    //workFlowDetail.Operator = workFlowDetails.Operator;
                    workFlowDetail.IsAllowOtherWorkFlow   = workFlowDetails.IsAllowOtherWorkFlow;
                    workFlowDetail.OtherWorkFlowId        = workFlowDetails.OtherWorkFlowId;
                    workFlowDetail.IsCondition            = workFlowDetails.IsCondition;
                    workFlowDetail.IsClosed               = workFlowDetails.IsClosed;
                    workFlowDetail.IsParentAction         = true;
                    workFlowDetail.IsAllowOtherBranchUser = workFlowDetails.IsAllowOtherBranchUser;
                    workFlowDetail.ModifiedDateTime       = DateTime.UtcNow;
                    _workFlowDataRepository.Update(workFlowDetail);
                    _workFlowDataRepository.SaveChanges();
                    return(workFlowDetail.Id);
                }
                else
                {
                    int workFlowCount = _workFlowDataRepository.Fetch(x => x.ActivityId == workFlowDetails.ActivityId && x.InitiatorId == workFlowDetails.InitiatorId).Count();
                    if (workFlowCount != 0)
                    {
                        throw new ArgumentException("WorkFlow already exists.");
                    }
                    workFlowDetails.CreatedDateTime = DateTime.UtcNow;
                    _workFlowDataRepository.Add(workFlowDetails);
                    _workFlowDataRepository.SaveChanges();
                    return(workFlowDetails.Id);
                }
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }
Ejemplo n.º 8
0
        public IHttpActionResult SaveWorkFlowDetails(WorkFlowAc workFlowDetails)
        {
            try
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    var userId         = HttpContext.Current.User.Identity.GetUserId();
                    var companyDetails = _companyDataRepository.FirstOrDefault(x => x.UserId == userId);
                    if (companyDetails != null)
                    {
                        foreach (var workFlow in workFlowDetails.Permission)
                        {
                            if (workFlow != null)
                            {
                                if (workFlow.IsApproval || workFlow.IsReview || workFlow.IsClosed || workFlow.IsCondition)
                                {
                                    var workFlowDetail = new WorkFlowDetail
                                    {
                                        WorkFlowName = workFlowDetails.WorkFlowName,
                                        WorkFlowId   = workFlowDetails.PermissionId,
                                        InitiatorId  = workFlow.InitiatorId,
                                        AssignedId   = workFlow.AssignedId,
                                        //OldStatusId = workFlow.OldStatus,
                                        //NewStatusId = workFlow.NewStatus,
                                        //CreatedDateTime = DateTime.UtcNow,
                                        CreatedBy  = HttpContext.Current.User.Identity.GetUserId(),
                                        IsApproval = workFlow.IsApproval,
                                        IsReview   = workFlow.IsReview,
                                        // WorkFlowActionId = workFlow.ActionId,
                                        CompanyId      = companyDetails.Id,
                                        ActivityId     = workFlow.ActivityId,
                                        NextActivityId = workFlow.NextActivityId,
                                        IsClosed       = workFlow.IsClosed,
                                        IsParentAction = true,
                                        Id             = workFlowDetails.workFlowActionId,
                                        //Variable1 = workFlow.Variable1,
                                        //Variable2 = workFlow.Variable2,
                                        //Operator = workFlow.Operator,
                                        IsCondition            = workFlow.IsCondition,
                                        IsAllowOtherBranchUser = workFlow.IsAllowOtherBranchUser,
                                        ParentActivityId       = 0,
                                    };
                                    IsChildCondtion   = workFlowDetail.IsCondition;
                                    _parentActivityId = _workFlowRepository.SaveWorkFlowActionDetails(workFlowDetail);
                                    if (workFlow.IsCondition)
                                    {
                                        foreach (var workFlowConditionalOperator in workFlow.ConditionalOperator)
                                        {
                                            //if (workFlowConditionalOperator.ConditionInfo == null)
                                            //{
                                            var conditionlOperator = new ConditionalOperator
                                            {
                                                Id        = workFlowConditionalOperator.ConditionalOperatorId,
                                                Variable1 = workFlowConditionalOperator.Variable1,
                                                Variable2 = workFlowConditionalOperator.Variable2,
                                                Condition = workFlowConditionalOperator.ConditionInfo,
                                                //CreatedDateTime = DateTime.UtcNow,
                                                Operator                    = workFlowConditionalOperator.Operator,
                                                WorkFlowDetailId            = _parentActivityId,
                                                IsBoolenCondtion            = workFlowConditionalOperator.IsBoolenCondtion,
                                                ParentConditionalOperatorId = _conditionalOperatorParentId
                                            };

                                            _conditionalOperatorParentId = _workFlowRepository.SaveWorkConditionalOperatorDetails(conditionlOperator);
                                            // }
                                            //else
                                            //{
                                            //    var conditionlOperator = new ConditionalOperator
                                            //    {
                                            //        Id = workFlowConditionalOperator.ConditionalOperatorId,
                                            //        Variable1 = workFlowConditionalOperator.Variable1,
                                            //        Variable2 = workFlowConditionalOperator.Variable2,
                                            //        Condition = workFlowConditionalOperator.ConditionInfo,
                                            //        CreatedDateTime = DateTime.UtcNow,
                                            //        Operator = workFlowConditionalOperator.Operator,
                                            //        WorkFlowDetailId = _parentActivityId,
                                            //        ParentConditionalOperatorId = _conditionalOperatorParentId
                                            //    };
                                            //    _conditionalOperatorChildId =
                                            //        _workFlowRepository.SaveWorkConditionalOperatorDetails(conditionlOperator);
                                            //}
                                        }
                                    }
                                }
                                else
                                {
                                    var workFlowDetail = new WorkFlowDetail
                                    {
                                        // WorkFlowName = workFlowDetails.WorkFlowName,
                                        WorkFlowId  = workFlowDetails.PermissionId,
                                        InitiatorId = workFlow.InitiatorId,
                                        AssignedId  = workFlow.AssignedId,
                                        //OldStatusId = workFlow.OldStatus,
                                        //NewStatusId = workFlow.NewStatus,
                                        //CreatedDateTime = DateTime.UtcNow,
                                        CreatedBy  = HttpContext.Current.User.Identity.GetUserId(),
                                        IsApproval = workFlow.IsApproval,
                                        IsReview   = workFlow.IsReview,
                                        // WorkFlowActionId = workFlow.ActionId,
                                        CompanyId            = companyDetails.Id,
                                        ActivityId           = workFlow.ActivityId,
                                        NextActivityId       = workFlow.NextActivityId,
                                        IsClosed             = workFlow.IsClosed,
                                        IsApprovePanel       = workFlow.IsApprovePanel,
                                        IsRejectPanel        = workFlow.IsRejectPanel,
                                        ParentActivityId     = _parentActivityId,
                                        IsChildAction        = true,
                                        IsAllowOtherWorkFlow = workFlow.IsAllowOtherWorkFlow,
                                        OtherWorkFlowId      = workFlow.OtherWorkFlowId,
                                        Id = workFlow.workFlowActionId,
                                        IsAllowOtherBranchUser = workFlow.IsAllowOtherBranchUser,
                                        //Variable2 = workFlow.Variable2,


                                        // Variable1 = workFlow.Variable1,

                                        //Operator = workFlow.Operator,
                                        IsCondition      = workFlow.IsCondition,
                                        IsChildCondition = IsChildCondtion,
                                    };
                                    _childActivityId = _workFlowRepository.SaveWorkFlowDetails(workFlowDetail);
                                }
                            }
                        }
                        workFlowDetails.PermissionId = _parentActivityId;
                    }


                    //var workFlowCollection = _workFlowRepository.GetWorkFlowDetailsForTreeViewByActivityId(workFlowDetails.ActivityId);
                    return(Ok(workFlowDetails));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception ex)
            {
                _errorLog.LogException(ex);
                throw;
            }
        }