예제 #1
0
        public void Update(HiringDatapointViewModel model)
        {
            var data = _context.AsQueryable <Data.Entities.HiringDatapoint>().Where(x => x.ID == model.ID).FirstOrDefault();

            if (data == null)
            {
                throw new ArgumentException("Data does not exists.");
            }

            //check if lob already exists
            if (data.Name != model.Name || data.SegmentID != model.SegmentID)
            {
                var dataExists = _context.AsQueryable <Data.Entities.HiringDatapoint>().Where(x => x.Name == model.Name && x.SegmentID == model.SegmentID && x.Active == true).FirstOrDefault();
                if (dataExists != null)
                {
                    throw new ArgumentException("Datapoint name already exists in Segment.");
                }
            }

            data.Name         = model.Name ?? data.Name;
            data.Datatype     = model.Datatype ?? data.Datatype;
            data.SegmentID    = model.SegmentID;
            data.SortOrder    = model.SortOrder ?? data.SortOrder;
            data.ModifiedBy   = model.ModifiedBy;
            data.DateModified = model.DateModified ?? DateTime.Now;
            data.Active       = model.Active ?? data.Active;
            data.Visible      = model.Visible ?? data.Visible;

            _context.Update <Data.Entities.HiringDatapoint>(data);
            _context.SaveChanges();
        }
예제 #2
0
        public HiringDatapointViewModel Create(HiringDatapointViewModel model)
        {
            var dataExists = _context.AsQueryable <Data.Entities.HiringDatapoint>().Where(x => x.Name == model.Name && x.Active == true && x.SegmentID == model.SegmentID).FirstOrDefault();

            if (dataExists != null)
            {
                throw new ArgumentException("Datapoint name already exists in segment.");
            }

            var sortOrder = 0;
            var lastData  = _context.AsQueryable <Data.Entities.HiringDatapoint>().Where(x => x.Active == true && x.SegmentID == model.SegmentID).OrderByDescending(x => x.SortOrder).FirstOrDefault();

            if (lastData != null)
            {
                sortOrder = lastData.SortOrder + 1;
            }

            var data = new Data.Entities.HiringDatapoint()
            {
                Name         = model.Name,
                Datatype     = model.Datatype,
                SegmentID    = model.SegmentID,
                SortOrder    = sortOrder,
                CreatedBy    = model.CreatedBy,
                ModifiedBy   = null,
                DateCreated  = model.DateCreated ?? DateTime.Now,
                DateModified = null,
                Active       = model.Active ?? true,
                Visible      = model.Visible ?? true
            };

            _context.Add <Data.Entities.HiringDatapoint>(data);
            _context.SaveChanges();

            model.ID      = data.ID;
            model.Active  = data.Active;
            model.Visible = data.Visible;
            return(model);
        }