Esempio n. 1
0
        public string BrowseStaff(ISession ss, TransferGiftDTO obj, Stage stage, ClaimsPrincipal principal)
        {
            var result   = string.Empty;
            var userinfo = ContextProvider.GetUserInfo(principal);

            try
            {
                SessionManager.DoWork(ss =>
                {
                    var workflow     = ss.Query <Workflow>().Single(p => p.ProductId == obj.ProductId && p.UserId == userinfo.Id && p.Stage == "First Stage");
                    var assignUserId = workflow.AssignUserId;
                    result           = _storeService.ValidateData(ss, userinfo.Organization.Id, obj.Data);
                    if (string.IsNullOrEmpty(result))
                    {
                        var transfer          = ss.Get <TransferGift>(obj.Id);
                        var transferlog       = ss.Query <TransferGiftLog>().Single(p => p.TransferGift.Id == obj.Id && p.Status == (int)ContextProvider.statusTransfer.Draft);
                        transfer.Status       = obj.Status;
                        transfer.DepartmentId = obj.DepartmentId;
                        //transfer.PromotionId = obj.PromotionId;
                        transfer.CreatedDate = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture);
                        transferlog.Status   = obj.Status;
                        if (!string.IsNullOrEmpty(obj.Data.ToString()))
                        {
                            transferlog.Data = JsonConvert.SerializeObject(obj.Data);
                        }
                        transferlog.UpdateDate = transfer.CreatedDate;
                        //ss.CreateSQLQuery($"delete ReceivingPromotion where TransferId = '{ obj.Id}'").UniqueResult();
                        //ss.CreateSQLQuery($"delete TransferDetail where TransferId = '{ obj.Id}'").UniqueResult();
                        result = _transferDetailService.Post(ss, transfer, obj);
                        if (string.IsNullOrEmpty(result))
                        {
                            var newtransferlog = new TransferGiftLog
                            {
                                Id                 = Guid.NewGuid(),
                                TransferGift       = transferlog.TransferGift,
                                AssignUserId       = assignUserId,
                                AssignDeaprtmentId = userinfo.Organization.Id,
                                Comment            = obj.Comment,
                                Data               = transferlog.Data,
                                Status             = obj.Status,
                                UpdateDate         = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture),
                                StageId            = obj.StageId,
                                Dealine            = null
                            };
                            ss.Save(newtransferlog);
                            result = "Browse Success";
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }
        public string BrowseStaff(ISession ss, TransferGiftDTO obj, Stage stage, ClaimsPrincipal principal)
        {
            var result   = string.Empty;
            var userinfo = ContextProvider.GetUserInfo(principal);

            try
            {
                result = _storeService.ValidateData(ss, userinfo.Organization.Id, obj.Data);
                if (string.IsNullOrEmpty(result))
                {
                    var nextStage   = ss.Get <Stage>(stage.NextStage);
                    var transfer    = ss.Get <TransferGift>(obj.Id);
                    var transferlog = ss.Query <TransferGiftLog>().Single(p => p.TransferGift.Id == obj.Id && p.Status == (int)ContextProvider.statusTransfer.Draft);
                    transfer.Status      = obj.Status;
                    transfer.PromotionId = obj.PromotionId;
                    transfer.CreatedDate = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture);
                    transferlog.Status   = obj.Status;
                    if (!string.IsNullOrEmpty(obj.Data.ToString()))
                    {
                        transferlog.Data = JsonConvert.SerializeObject(obj.Data);
                    }
                    transferlog.UpdateDate = transfer.CreatedDate;
                    result = _transferDetailService.Post(ss, transfer, obj);
                    if (string.IsNullOrEmpty(result))
                    {
                        var newtransferlog = new TransferGiftLog
                        {
                            Id                 = Guid.NewGuid(),
                            TransferGift       = transferlog.TransferGift,
                            AssignUserId       = null,
                            AssignDeaprtmentId = userinfo.Organization.Id,
                            Comment            = obj.Comment,
                            Data               = transferlog.Data,
                            Status             = obj.Status,
                            UpdateDate         = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture),
                            Stage              = nextStage,
                            Dealine            = null
                        };
                        ss.Save(newtransferlog);
                        result = "Browse Success";
                    }
                }
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }
Esempio n. 3
0
        public string BrowseStaff(ISession ss, TransferGiftDTO obj, Stage stage, ClaimsPrincipal principal)
        {
            var result   = string.Empty;
            var userinfo = ContextProvider.GetUserInfo(principal);

            try
            {
                var nextStage   = ss.Get <Stage>(stage.NextStage);
                var transfer    = ss.Get <TransferGift>(obj.Id);
                var transferlog = ss.Query <TransferGiftLog>().Single(p => p.TransferGift.Id == obj.Id && p.Status == (int)ContextProvider.statusTransfer.Draft);
                //transfer.Status = obj.Status;
                transfer.Status      = (int)ContextProvider.statusTransfer.Initialize;
                transfer.CreatedDate = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture);
                transferlog.Status   = (int)ContextProvider.statusTransfer.Initialize;
                if (!string.IsNullOrEmpty(obj.Data.ToString()))
                {
                    transferlog.Data = JsonConvert.SerializeObject(obj.Data);
                }
                transferlog.UpdateDate = transfer.CreatedDate;
                //ss.CreateSQLQuery($"delete TransferDetail where TransferId = '{ obj.Id}'").UniqueResult();

                // xử lý cục Data (phi cấu trúc => có cấu trúc)
                result = _transferDetailService.Post(ss, transfer, obj);
                if (string.IsNullOrEmpty(result))
                {
                    var newtransferlog = new TransferGiftLog
                    {
                        Id                 = Guid.NewGuid(),
                        TransferGift       = transferlog.TransferGift,
                        AssignUserId       = null,
                        AssignDeaprtmentId = userinfo.Organization.Id,
                        Comment            = obj.Comment,
                        Data               = transferlog.Data,
                        Status             = (int)ContextProvider.statusTransfer.Initialize,
                        UpdateDate         = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture),
                        Stage              = nextStage,
                        Dealine            = null
                    };
                    ss.Save(newtransferlog);
                    result = "Gửi duyệt thành công!";
                }
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }
Esempio n. 4
0
        public string BrowseLeaderQLBH(Guid transferId, ClaimsPrincipal principal)
        {
            var result   = string.Empty;
            var userinfo = ContextProvider.GetUserInfo(principal);

            try
            {
                SessionManager.DoWork(ss => {
                    var transfer           = ss.Get <TransferGift>(transferId);
                    var workflow           = ss.Query <Workflow>().Single(p => p.ProductId == transfer.Product.Id && p.UserId == userinfo.Id);
                    var assignUserId       = workflow.AssignUserId;
                    var assignDepartmentId = ss.Get <User>(assignUserId).Organization.Id;
                    transfer.Status        = (int)ContextProvider.statusTransfer.Approve;
                    var transferlog        = ss.Query <TransferGiftLog>()
                                             .Where(p => p.TransferGift.Id == transferId && p.AssignUserId == userinfo.Id)
                                             .OrderByDescending(p => p.UpdateDate).First();
                    transferlog.Status     = transfer.Status;
                    transferlog.UpdateDate = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture);
                    var newtransferlog     = new TransferGiftLog
                    {
                        Id                 = Guid.NewGuid(),
                        TransferGift       = transferlog.TransferGift,
                        AssignUserId       = assignUserId,
                        AssignDeaprtmentId = assignDepartmentId,
                        Comment            = transferlog.Comment,
                        Data               = transferlog.Data,
                        Status             = transfer.Status,
                        UpdateDate         = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture),
                        StageId            = transferlog.StageId,
                        Dealine            = null
                    };
                    ss.Save(newtransferlog);
                    result = "Browse Success";
                });
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }
        public string BrowseLeader(ISession ss, Guid transferId, Stage stage, ClaimsPrincipal principal)
        {
            var result   = string.Empty;
            var userinfo = ContextProvider.GetUserInfo(principal);

            try
            {
                var nextStage = ss.Get <Stage>(stage.NextStage);
                var transfer  = ss.Get <TransferGift>(transferId);
                transfer.Status = (int)ContextProvider.statusTransfer.Approve;
                //if (stage.Name == "End Stage")
                //    transfer.IsComplete = true;
                var transferlog = ss.Query <TransferGiftLog>()
                                  .Single(p => p.TransferGift.Id == transferId && p.Stage.Id == stage.Id && p.AssignDeaprtmentId == userinfo.Organization.Id);
                transferlog.AssignUserId = userinfo.Id;
                transferlog.Status       = transfer.Status;
                transferlog.UpdateDate   = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture);
                var newtransferlog = new TransferGiftLog
                {
                    Id                 = Guid.NewGuid(),
                    TransferGift       = transferlog.TransferGift,
                    AssignUserId       = null,
                    AssignDeaprtmentId = userinfo.Organization.Id,
                    Comment            = transferlog.Comment,
                    Data               = transferlog.Data,
                    Status             = transferlog.Status,
                    UpdateDate         = DateTime.ParseExact(DateTime.Now.ToString("u"), "u", CultureInfo.InvariantCulture),
                    Stage              = nextStage,
                    Dealine            = null
                };
                result = "Browse Success";
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }