Пример #1
0
        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));
        }
Пример #2
0
        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));
        }