Beispiel #1
0
        public MaterialCodesDTO Update(MaterialCodesDTO obj)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    MaterialCodes tempObj = (from r in _unitOfWork.MaterialCodes.GenerateEntityAsIQueryable()
                                             where r.Name == obj.Name && r.ID != obj.ID
                                             select r).FirstOrDefault();

                    if (tempObj == null)
                    {
                        var response = _unitOfWork.MaterialCodes.FindById(obj.ID);
                        if (response != null)
                        {
                            response.Name         = obj.Name;
                            response.Code         = obj.Code;
                            response.Active       = obj.Active;
                            response.CreatedBy    = obj.CreatedBy;
                            response.CreatedDate  = obj.CreatedDate;
                            response.ModifiedBy   = obj.ModifiedBy;
                            response.ModifiedDate = DateTime.Now;
                        }
                        _unitOfWork.MaterialCodes.Update(response);
                        _unitOfWork.SaveChanges();
                        transaction.Commit();
                        return(new MaterialCodesDTO
                        {
                            ID = obj.ID,
                            Status = true,
                            StatusMessage = "Successfully updated",
                            StatusCode = 200
                        });
                    }
                    else
                    {
                        return(new MaterialCodesDTO
                        {
                            ID = tempObj.ID,
                            Status = false,
                            StatusMessage = "Error - Duplicate Material Code.",
                            StatusCode = 200
                        });
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new MaterialCodesDTO()
                    {
                        ID = 0,
                        Status = false,
                        StatusMessage = ex.Message,
                        StatusCode = 200
                    });
                }
            }
        }
Beispiel #2
0
        public MaterialCodesDTO Create(MaterialCodesDTO obj)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    MaterialCodes tempObj = (from i in _unitOfWork.MaterialCodes.GenerateEntityAsIQueryable()
                                             where i.Name == obj.Name
                                             select i).FirstOrDefault();

                    if (tempObj == null)
                    {
                        var materialCode = new MaterialCodes()
                        {
                            Name        = obj.Name,
                            Code        = obj.Code,
                            Active      = true,
                            CreatedBy   = obj.CreatedBy,
                            CreatedDate = DateTime.Now
                        };

                        _unitOfWork.MaterialCodes.Create(materialCode);
                        _unitOfWork.SaveChanges();
                        transaction.Commit();
                        return(new MaterialCodesDTO
                        {
                            ID = materialCode.ID,
                            Status = true,
                            StatusMessage = "Successfully created",
                            StatusCode = 200
                        });
                    }
                    else
                    {
                        return(new MaterialCodesDTO
                        {
                            ID = tempObj.ID,
                            Status = false,
                            StatusMessage = "Error - Duplicate Matrial Code - " + tempObj.Name,
                            StatusCode = 200
                        });
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new MaterialCodesDTO()
                    {
                        ID = 0,
                        Status = false,
                        StatusMessage = ex.Message,
                        StatusCode = 200
                    });
                }
            }
        }