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); }
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); }
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); }