Example #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);
        }
Example #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);
        }
Example #4
0
        public string Post(ISession ss, TransferGift transfer, TransferGiftDTO obj)
        {
            var result = string.Empty;
            //var ReceivingPromotionId = ss.Query<ReceivingPromotion>().SingleOrDefault(p => p.TransferGift.Id == transfer.Id);
            var ReceivingDepartmentId = ss.Query <ReceivingDepartment>().SingleOrDefault(p => p.TransferGift.Id == transfer.Id);

            try
            {
                var dicItem = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(obj.Data.ToString());
                foreach (var item in dicItem)
                {
                    var promotionId    = Guid.Empty;
                    var transferDetail = new TransferDetail
                    {
                        Id           = Guid.NewGuid(),
                        TransferGift = transfer,
                        GiftId       = Guid.Parse(item["GiftId"]),
                        Amount       = int.Parse(item["Amount"])
                    };

                    switch (obj.ProductId.ToString().ToUpper())
                    {
                    // NHẬP KHO
                    case "7A452975-E667-41CB-9B32-5875D357FF37":
                        transferDetail.ReceivingDepartment = ReceivingDepartmentId.DepartmentId;
                        transferDetail.ReceivingPromotion  = null;
                        break;

                    //// XUẤT KHO
                    case "0AFC855F-5E19-4B2A-A296-E5E66BA3B17B":
                        promotionId = Guid.Parse(item["PromotionId"]);
                        transferDetail.ReceivingDepartment = null;
                        transferDetail.ReceivingPromotion  = promotionId;
                        break;

                    // ĐIỀU CHUYỂN NGANG
                    case "4E0F159C-1B09-4FAB-8D2D-FA38DF55006A":
                        promotionId = Guid.Parse(item["PromotionId"]);
                        transferDetail.ReceivingPromotion  = promotionId;
                        transferDetail.ReceivingDepartment = obj.ReceivingDepartmentId;
                        break;

                    // ĐIỀU CHUYỂN NỘI BỘ
                    case "81A05F45-9BE2-4754-A5D1-D0F8632AC8F8":
                        transferDetail.ReceivingDepartment = ReceivingDepartmentId.DepartmentId;
                        transferDetail.ReceivingPromotion  = obj.ReceivingPromotionId.GetValueOrDefault();
                        break;
                    }
                    if (promotionId != Guid.Empty)
                    {
                        ss.Save(new ReceivingPromotion {
                            Id           = Guid.NewGuid(),
                            PromotionId  = promotionId,
                            TransferGift = transfer
                        });
                    }
                    ss.Save(transferDetail);
                }
                if (obj.ProductId.ToString().ToUpper() == "81A05F45-9BE2-4754-A5D1-D0F8632AC8F8")
                {
                    ss.Save(new ReceivingPromotion
                    {
                        Id           = Guid.NewGuid(),
                        PromotionId  = obj.ReceivingPromotionId.GetValueOrDefault(),
                        TransferGift = transfer
                    });
                }
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            return(result);
        }