Exemplo n.º 1
0
        //Kiểm tra object truyền vào có tên trùng trong database không
        //KQ: false: TenTruyen bị trùng, true: cập nhật thành công
        public ResponseDetails UpdateTruyen(Truyen truyen)
        {
            /*Bắt lỗi [ID]*/
            var tacGiaRepo = new TacGiaRepository(_context);

            if (!tacGiaRepo.FindByCondition(t => t.TacGiaID.Equals(truyen.TacGiaID)).Any())
            {
                return(new ResponseDetails()
                {
                    StatusCode = ResponseCode.Error,
                    Message = "ID tác giả không tồn tại",
                    Value = truyen.TacGiaID.ToString()
                });
            }
            /*End*/

            /*Bắt lỗi [Tên truyện]*/
            if (FindByCondition(t => t.TenTruyen.Equals(truyen.TenTruyen) && t.TruyenID != truyen.TruyenID).Any())
            {
                return(new ResponseDetails()
                {
                    StatusCode = ResponseCode.Error,
                    Message = "Tên truyện bị trùng"
                });
            }
            /*End*/

            /*Bắt lỗi [Hình ảnh]*/
            if (FindByCondition(t => t.HinhAnh.Equals(truyen.HinhAnh) && t.TruyenID != truyen.TruyenID).Any())
            {
                return(new ResponseDetails()
                {
                    StatusCode = ResponseCode.Error,
                    Message = "Hình ảnh này đã tồn tại",
                    Value = truyen.TenTruyen + ": " + truyen.HinhAnh
                });
            }
            /*End*/

            //Tạo bản ghi mới nhưng chưa update vào CSDL
            Update(truyen);
            return(new ResponseDetails()
            {
                StatusCode = ResponseCode.Success, Message = "Sửa truyện thành công"
            });
        }
Exemplo n.º 2
0
        //Kiểm tra collection truyền vào có tên trùng trong database không
        //KQ: !null = TenTruyen bị trùng, null: thêm thành công
        public ResponseDetails CreateTruyen(IEnumerable <Truyen> truyens)
        {
            /*Kiểm tra xem chuỗi json nhập vào có bị trùng tên truyện không*/
            foreach (var dup in truyens.GroupBy(p => p.TenTruyen))
            {
                if (dup.Count() - 1 > 0)
                {
                    return(new ResponseDetails()
                    {
                        StatusCode = ResponseCode.Error,
                        Message = "Chuỗi json nhập vào bị trùng tên truyện",
                        Value = dup.Key.ToString()
                    });
                }
            }
            /*End*/

            /*Kiểm tra xem chuỗi json nhập vào có bị trùng hình ảnh không*/
            foreach (var dup in truyens.GroupBy(p => p.HinhAnh))
            {
                if (dup.Count() - 1 > 0)
                {
                    return(new ResponseDetails()
                    {
                        StatusCode = ResponseCode.Error,
                        Message = "Chuỗi json nhập vào bị trùng hình ảnh truyện",
                        Value = dup.Key.ToString()
                    });
                }
            }
            /*End*/

            var tacGiaRepo = new TacGiaRepository(_context);

            foreach (var truyen in truyens)
            {
                /*Bắt lỗi [ID]*/
                if (!tacGiaRepo.FindByCondition(t => t.TacGiaID.Equals(truyen.TacGiaID)).Any())
                {
                    return(new ResponseDetails()
                    {
                        StatusCode = ResponseCode.Error,
                        Message = "ID tác giả không tồn tại",
                        Value = truyen.TacGiaID.ToString()
                    });
                }
                /*End*/

                /*Bắt lỗi [Tên truyện]*/
                if (FindByCondition(t => t.TenTruyen.Equals(truyen.TenTruyen)).Any())
                {
                    return(new ResponseDetails()
                    {
                        StatusCode = ResponseCode.Error,
                        Message = "Tên truyện bị trùng",
                        Value = truyen.TenTruyen
                    });
                }
                /*End*/

                /*Bắt lỗi [Hình ảnh]*/
                if (FindByCondition(t => t.HinhAnh.Equals(truyen.HinhAnh)).Any())
                {
                    return(new ResponseDetails()
                    {
                        StatusCode = ResponseCode.Error,
                        Message = "Hình ảnh này đã tồn tại",
                        Value = truyen.TenTruyen + ": " + truyen.HinhAnh
                    });
                }
                /*End*/

                truyen.TenTruyen = truyen.TenTruyen.ToLower();
                Create(truyen);
                _context.SaveChanges();
            }

            return(new ResponseDetails()
            {
                StatusCode = ResponseCode.Success
            });
        }