public object Update([FromBody] FundAccEntryModel data) { var msg = new JMessage() { Error = false }; try { var userName = User.Identity.Name; var checkRole = _context.Users.FirstOrDefault(x => x.UserName.ToLower() == userName.ToLower()); if (checkRole != null) { var type = checkRole.UserType; var role = string.Empty; var userInGroup = _context.AdUserInGroups.FirstOrDefault(x => x.UserId == checkRole.Id && x.IsMain == true); var obj = _context.FundAccEntrys.FirstOrDefault(x => x.AetCode.ToLower() == data.AetCode.ToLower()); if (userInGroup != null) { var roleId = userInGroup.RoleId; var userRole = _context.Roles.FirstOrDefault(x => x.Id == roleId); role = userRole.Code; } if (type == 10 || role == "001") { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_NO_RIGHT_EDIT"));//"Bạn không có quyền hạn để sửa phiếu thu / chi !"; } else if (obj.Status == "APPROVED" || obj.Status == "REFUSE") { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_NOT_EDIT_FAE_APPROVAL"));//"Không được sửa phiếu thu chi đã được xét duyệt !"; } else { if (obj != null) { var deadLine = !string.IsNullOrEmpty(data.DeadLine) ? DateTime.ParseExact(data.DeadLine, "dd/MM/yyyy", CultureInfo.InvariantCulture) : (DateTime?)null; if (deadLine <= DateTime.Now) { obj.IsPlan = false; } else { obj.IsPlan = true; } obj.AetCode = data.AetCode; obj.AetDescription = data.AetDescription; obj.AetRelative = data.AetRelative; obj.AetRelativeType = data.AetRelativeType; obj.AetType = data.AetType; obj.CatCode = data.CatCode; obj.UpdatedBy = User.Identity.Name; obj.UpdatedTime = DateTime.Now; obj.Payer = data.Payer; obj.Receiptter = data.Receiptter; obj.Title = data.Title; obj.Total = data.Total; obj.DeadLine = deadLine; obj.Status = data.Status; obj.GoogleMap = data.GoogleMap; obj.Address = data.Address; _context.FundAccEntrys.Update(obj); _context.SaveChanges(); var updateTracking = false; var objTracking = _context.FundAccEntryTrackings.LastOrDefault(x => x.AetCode.Equals(obj.AetCode)); if (objTracking != null) { if (objTracking.Action != obj.Status) { updateTracking = true; } } if (updateTracking) { var entryTracking = new FundAccEntryTracking { AetCode = obj.AetCode, CreatedBy = User.Identity.Name, CreatedTime = DateTime.Now, Action = obj.Status, Note = obj.AetDescription }; _context.FundAccEntryTrackings.Add(entryTracking); _context.SaveChanges(); } if (data.ListFileAccEntry.Count > 0) { foreach (var item in data.ListFileAccEntry) { var fundFileObj = _context.FundFiless.FirstOrDefault(x => x.Id == item.Id); if (fundFileObj == null) { var fundFile = new FundFiles { AetCode = obj.AetCode, FileName = item.FileName, FilePath = item.FilePath, FileType = item.FileType, CreatedBy = User.Identity.Name, CreatedTime = DateTime.Now, }; _context.FundFiless.Add(fundFile); } _context.SaveChanges(); } } if (data.ListFileAccEntryRemove.Count > 0) { foreach (var item in data.ListFileAccEntryRemove) { var funFileRemove = _context.FundFiless.FirstOrDefault(x => x.Id == item.Id); if (funFileRemove != null) { _context.FundFiless.Remove(funFileRemove); } } _context.SaveChanges(); } else { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_UPDATE_ERROR"));//"Cập nhật phiếu thu chi thất bại !"; } msg.Object = obj; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_UPDATE_SUCCESS"));//"Cập nhật phiếu thu chi thành công !"; } } } } catch (Exception ex) { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_UPDATE_FAIL"));//"Có lỗi xảy ra khi cập nhật!"; } return(Json(msg)); }
public JsonResult InsertAccEntryTracking(string aetCode, string status, string note) { var msg = new JMessage() { Error = false }; try { var userName = User.Identity.Name; var checkRole = _context.Users.FirstOrDefault(x => x.UserName.ToLower() == userName.ToLower()); if (checkRole != null) { var type = checkRole.UserType; var role = string.Empty; var userInGroup = _context.AdUserInGroups.FirstOrDefault(x => x.UserId == checkRole.Id && x.IsMain == true); if (userInGroup != null) { var roleId = userInGroup.RoleId; var userRole = _context.Roles.FirstOrDefault(x => x.Id == roleId); role = userRole.Code; } if (type == 10 || role == "001") { var entryTracking = new FundAccEntryTracking { AetCode = aetCode, CreatedBy = User.Identity.Name, CreatedTime = DateTime.Now, Action = status, Note = note }; _context.FundAccEntryTrackings.Add(entryTracking); _context.SaveChanges(); var obj = _context.FundAccEntrys.FirstOrDefault(x => x.AetCode.Equals(aetCode)); if (obj != null) { obj.Status = status; _context.FundAccEntrys.Update(obj); _context.SaveChanges(); var Notif1 = (from a in _context.FundAccEntrys.Where(x => x.IsDeleted == false && x.IsPlan == false && x.AetType == obj.AetType) join b in _context.FundAccEntryTrackings.Where(x => x.IsDeleted == false && x.Action == "APPROVED") on a.AetCode equals b.AetCode select new { a.CatCode, a.AetType, a.AetCode, a.DeadLine, a.Payer, a.Receiptter, a.Total, }).ToList(); var Notif2 = (from a in Notif1.Where(x => x.CatCode == obj.CatCode) join b in _context.ParamForWarnings.Where(x => x.isDeleted == false && x.aetType == obj.AetType && x.catCode == obj.CatCode) on a.CatCode equals b.catCode where a.DeadLine >= b.fromTime && a.DeadLine <= b.toTime group a by new { a.CatCode, a.AetType } into list orderby list.Key.CatCode select new { list, total = list.Sum(x => x.Total), catCode = list.Key.CatCode, aetType = list.Key.AetType, maxDate = list.Max(x => x.DeadLine), minDate = list.Min(x => x.DeadLine), }).ToList(); var queryNotif = (from a in Notif2.Where(x => x.aetType == obj.AetType) join b in _context.ParamForWarnings.Where(x => x.isDeleted == false && x.aetType == obj.AetType) on a.catCode equals b.catCode where a.maxDate <= b.toTime && a.minDate >= b.fromTime && a.total >= b.total select new { id = b.id, maxTotal = b.total, fromDate = b.fromTime, toDate = b.toTime, aetType = b.aetType, catCode = b.catCode, currency = b.currency, total = a.total, }).ToList(); int count = queryNotif.Count(); if (count > 0) { SendPushNotification("Có một danh mục thu chi vượt hạn mức"); } } msg.Title = "Cập nhật trạng thái thành công !"; } else { msg.Error = true; msg.Title = "Bạn không có quyền để thực hiện nghiệp vụ này !"; } } else { msg.Title = "Thêm phiếu thu chi thành công !"; } } catch (Exception ex) { msg.Error = true; msg.Title = "Có lỗi xảy ra khi thêm !"; } return(Json(msg)); }
public JsonResult Insert([FromBody] FundAccEntryModel data) { var msg = new JMessage() { Error = false }; try { var checkExist = _context.FundAccEntrys.FirstOrDefault(x => x.AetCode.ToLower() == data.AetCode.ToLower()); if (checkExist != null) { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_FAE"));//"Đã tồn tại phiếu thu chi !"; } else { var isplan = true; var deadLine = !string.IsNullOrEmpty(data.DeadLine) ? DateTime.ParseExact(data.DeadLine, "dd/MM/yyyy", CultureInfo.InvariantCulture) : (DateTime?)null; if (deadLine <= DateTime.Now) { isplan = false; } var obj = new FundAccEntry { AetCode = data.AetCode, AetDescription = data.AetDescription, AetRelative = data.AetRelative, AetRelativeType = data.AetRelativeType, AetType = data.AetType, CatCode = data.CatCode, CreatedTime = DateTime.Now, Currency = data.Currency, DeadLine = deadLine, IsDeleted = false, Payer = data.Payer, Receiptter = data.Receiptter, Title = data.Title, Total = data.Total, Status = "CREATED", GoogleMap = data.GoogleMap, Address = data.Address, IsPlan = isplan, }; _context.FundAccEntrys.Add(obj); _context.SaveChanges(); var entryTracking = new FundAccEntryTracking { AetCode = obj.AetCode, CreatedBy = User.Identity.Name, CreatedTime = DateTime.Now, Action = obj.Status, Note = obj.AetDescription }; _context.FundAccEntryTrackings.Add(entryTracking); _context.SaveChanges(); if (data.ListFileAccEntry.Count > 0) { foreach (var item in data.ListFileAccEntry) { var fundFile = new FundFiles { AetCode = obj.AetCode, FileName = item.FileName, FilePath = item.FilePath, FileType = item.FileType, CreatedBy = User.Identity.Name, CreatedTime = DateTime.Now, }; _context.FundFiless.Add(fundFile); } _context.SaveChanges(); } msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_ADD_FAE_SUCCESS"));//"Thêm phiếu thu chi thành công !"; } } catch (Exception ex) { msg.Error = true; msg.Title = String.Format(CommonUtil.ResourceValue("FAE_MSG_ADD_FAE_ERROR"));//"Có lỗi xảy ra khi thêm !"; } return(Json(msg)); }