public async Task <IHttpActionResult> CreateCardDeliveryLog(CardDeliveryLog entity)
        {
            userId = User.Identity.GetUserId();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var department   = _repo.FindDepartmentByName("Card Engineer");
            var cardDelivery = _repo.FindCardDeliveryByTrackerDepart(entity.JobTrackerId, department.Id);

            var carddeliveryLog = new CardDeliveryLog()
            {
                JobTrackerId   = entity.JobTrackerId,
                CardDeliveryId = cardDelivery.Id,
                RangeFrom      = entity.RangeFrom,
                RangeTo        = entity.RangeTo,
                IsConfirmed    = false,
                CreatedById    = userId,
                CreatedOn      = DateTime.Now,
                ConfirmedById  = userId,
                ConfirmedOn    = DateTime.Now
            };

            context.CardDeliveryLogs.Add(carddeliveryLog);
            await context.SaveChangesAsync();

            return(Ok <CardDeliveryLog>(carddeliveryLog));
        }
Пример #2
0
        public async Task <IHttpActionResult> CreateCardDeliveryLog(CardDeliveryLog entity)
        {
            userId = User.Identity.GetUserId();

            var department   = _repo.FindDepartmentByName("Mailing");
            var cardDelivery = _repo.FindCardDeliveryByTrackerDepart(entity.JobTrackerId, department.Id);
            var jobTracker   = await context.JobTrackers.FindAsync(entity.JobTrackerId);

            var cardIssuanceLog    = _repo.FindCardIssuanceLogByJobTrackerId(entity.JobTrackerId);
            var jobSplitCEAnalysis = _repo.FindCEJobAnalysisTrackerId(entity.JobTrackerId);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var carddeliveryLog = new CardDeliveryLog()
            {
                JobTrackerId   = entity.JobTrackerId,
                CardDeliveryId = cardDelivery.Id,
                RangeFrom      = entity.RangeFrom,
                RangeTo        = entity.RangeTo,
                BoxQty         = entity.BoxQty,
                IsConfirmed    = false,
                CreatedById    = userId,
                CreatedOn      = DateTime.Now,
                ConfirmedById  = userId,
                ConfirmedOn    = DateTime.Now
            };

            context.CardDeliveryLogs.Add(carddeliveryLog);
            await context.SaveChangesAsync();

            return(Ok <CardDeliveryLog>(carddeliveryLog));
        }
        public async Task <IHttpActionResult> UpdateCardDeliveryLog(int id, CardDeliveryLog entity)
        {
            var existingEntity = await context.CardDeliveryLogs.FindAsync(entity.Id);

            if (id != entity.Id)
            {
                return(BadRequest(ModelState));
            }
            if (existingEntity != null && context.Entry(existingEntity).State != EntityState.Detached)
            {
                context.Entry(existingEntity).State = EntityState.Detached;
            }

            context.CardDeliveryLogs.Attach(entity);
            context.Entry(entity).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(Ok <CardDeliveryLog>(entity));
        }
        public async Task <IHttpActionResult> DeleteCardDeliveryLog(CardDeliveryLog entity)
        {
            var carddeliverylog = await context.CardDeliveryLogs.FindAsync(entity.Id);

            if (carddeliverylog == null)
            {
                throw new ArgumentNullException(nameof(carddeliverylog));
            }
            userId = User.Identity.GetUserId();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            carddeliverylog.IsDeleted = true;

            var t0 = await UpdateCardDeliveryLog(carddeliverylog.Id, carddeliverylog);

            return(Ok());
        }
Пример #5
0
        public async Task <IHttpActionResult> CreatePrintDeliveryLog(CardDeliveryLog entity)
        {
            userId = User.Identity.GetUserId();

            var department   = _repo.FindDepartmentByName("Printing");
            var cardDelivery = _repo.FindCardDeliveryByTrackerDepart(entity.JobTrackerId, department.Id);
            var jobTracker   = await context.JobTrackers.FindAsync(entity.JobTrackerId);

            var job = await context.Jobs.FindAsync(jobTracker.JobId);

            var jobTypePrintingOnly            = _repo.FindJobTypeByName("Printing Only");
            var jobTypePrintingAndPerso        = _repo.FindJobTypeByName("Printing And Perso");
            var jobTypePrintingPersoAndMailing = _repo.FindJobTypeByName("Printing, Perso And Mailing");

            var jobStatusCompleted = _repo.FindJobStatusByName("Completed");
            var jobStatusQueue     = _repo.FindJobStatusByName("Queue");


            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var carddeliveryLog = new CardDeliveryLog()
            {
                JobTrackerId   = entity.JobTrackerId,
                CardDeliveryId = cardDelivery.Id,
                RangeFrom      = entity.RangeFrom,
                RangeTo        = entity.RangeTo,
                IsConfirmed    = false,
                CreatedById    = userId,
                CreatedOn      = DateTime.Now,
                ConfirmedById  = userId,
                ConfirmedOn    = DateTime.Now,
                Description    = entity.Description,
                BoxQty         = entity.BoxQty
            };

            context.CardDeliveryLogs.Add(carddeliveryLog);
            await context.SaveChangesAsync();

            // Update Tracker for PrintOnly
            #region JobTrackerUpdate
            if (job.ServiceTypeId == jobTypePrintingOnly.Id)
            {
                jobTracker.PrintingId = jobStatusCompleted.Id;
                jobTracker.DispatchId = jobStatusQueue.Id;
            }
            else if (job.ServiceTypeId == jobTypePrintingAndPerso.Id)
            {
                jobTracker.PrintingId    = jobStatusCompleted.Id;
                jobTracker.FirstJobRunId = jobStatusQueue.Id;
            }
            else if (job.ServiceTypeId == jobTypePrintingPersoAndMailing.Id)
            {
                jobTracker.PrintingId    = jobStatusCompleted.Id;
                jobTracker.FirstJobRunId = jobStatusQueue.Id;
            }

            jobTracker.ModifiedOn           = DateTime.Now;
            context.Entry(jobTracker).State = EntityState.Modified;
            await context.SaveChangesAsync();

            #endregion

            return(Ok <CardDeliveryLog>(carddeliveryLog));
        }