public async Task <ActionResult <AttendanceModel> > PostAttendanceModel(int labId)
        {
            var labModel = await _labRepository.GetById(labId);

            if (labModel == null)
            {
                return(BadRequest());
            }
            var groupModel = await _groupRepository.GetById(labModel.GroupId);

            if (groupModel == null)
            {
                return(BadRequest());
            }

            object result;

            if (groupModel.Students == null)
            {
                return(BadRequest());
            }
            foreach (var studentModel in groupModel.Students)
            {
                var model = new AttendanceInputModel
                {
                    AttendanceId = 0,
                    LabId        = labId,
                    StudentId    = studentModel.StudentId
                };
                result = await _attendanceRepository.Add(model);

                if (result.Equals("bad request"))
                {
                    return(BadRequest());
                }
            }

            return(NoContent());
        }
예제 #2
0
        public AppQuery(
            ILabRepository labRepository,
            IProjectRepository projectRepository,
            IListRepository listRepository,
            ISeriesRepository seriesRepository,
            IPointRepository pointRepository)
        {
            #region GetAll
            Field <ListGraphType <LabType> >(
                "labs",
                resolve: context => labRepository.GetAll()
                );

            Field <ListGraphType <ProjectType> >(
                "projects",
                resolve: context => projectRepository.GetAll()
                );

            Field <ListGraphType <ListType> >(
                "lists",
                resolve: context => listRepository.GetAll()
                );

            Field <ListGraphType <SeriesType> >(
                "series",
                resolve: context => seriesRepository.GetAll()
                );

            Field <ListGraphType <PointType> >(
                "points",
                resolve: x => pointRepository.GetAll()
                );
            #endregion
            #region GetById
            Field <LabType>(
                "lab",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            }),
                resolve: context =>
            {
                return(labRepository.GetById(context.GetArgument <int>("idLab")));
            }
                );

            Field <ProjectType>(
                "project",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            }
                    ),
                resolve: context =>
            {
                return(projectRepository.GetById(
                           context.GetArgument <int>("idLab"),
                           context.GetArgument <int>("idProject")));
            }
                );

            Field <SeriesType>(
                "serie",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idSeries"
            }
                    ),
                resolve: context =>
            {
                return(seriesRepository.GetById(
                           context.GetArgument <int>("idLab"),
                           context.GetArgument <int>("idProject"),
                           context.GetArgument <int>("idSeries")));
            }
                );

            Field <ListType>(
                "list",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idList"
            }
                    ),
                resolve: context =>
            {
                return(listRepository.GetById(
                           context.GetArgument <int>("idLab"),
                           context.GetArgument <int>("idProject"),
                           context.GetArgument <int>("idList")));
            }
                );

            Field <PointType>(
                "point",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idSeries"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idPoint"
            }
                    ),
                resolve: context =>
            {
                return(pointRepository.GetById(
                           context.GetArgument <int>("idLab"),
                           context.GetArgument <int>("idProject"),
                           context.GetArgument <int>("idSeries"),
                           context.GetArgument <int>("idPoint")));
            }
                );
            #endregion
        }
예제 #3
0
        public AppMutation(
            ILabRepository labRepository,
            IProjectRepository projectRepository,
            IListRepository listRepository,
            ISeriesRepository seriesRepository,
            IPointRepository pointRepository)
        {
            #region LabMutations
            FieldAsync <LabType>(
                "createLab",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <LabInputType> > {
                Name = "lab"
            }),
                resolve: async context => await labRepository.Create(context.GetArgument <LabDto>("lab"))
                );

            FieldAsync <LabType>(
                "updateLab",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <LabInputType> > {
                Name = "lab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            }
                    ),
                resolve: async context =>
            {
                var lab   = context.GetArgument <LabDto>("lab");
                var labId = context.GetArgument <int>("idLab");

                if (labRepository.GetById(labId) == null)
                {
                    context.Errors.Add(new ExecutionError("Entity does not exist!"));
                    return(null);
                }

                return(await labRepository.Update(lab, labId));
            });

            FieldAsync <StringGraphType>(
                "deleteLab",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            }
                    ),
                resolve: async context =>
            {
                var labId = context.GetArgument <int>("idLab");

                if (labRepository.GetById(labId) == null)
                {
                    context.Errors.Add(new ExecutionError("Entity does not exist!"));
                    return(null);
                }

                if (await labRepository.Delete(labId))
                {
                    return("Entity deleted successfully");
                }
                else
                {
                    return("Removing failed!");
                }
            });
            #endregion
            #region ProjectMutations
            FieldAsync <ProjectType>(
                "createProject",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectInputType> > {
                Name = "project"
            }),
                resolve: async context => await projectRepository.Create(context.GetArgument <ProjectDto>("project"))
                );

            FieldAsync <ProjectType>(
                "updateProject",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <ProjectInputType> > {
                Name = "project"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            }
                    ),
                resolve: async context =>
            {
                var project   = context.GetArgument <ProjectDto>("project");
                var labId     = context.GetArgument <int>("idLab");
                var projectId = context.GetArgument <int>("idProject");

                if (projectRepository.GetById(labId, projectId) == null)
                {
                    context.Errors.Add(new ExecutionError("Entity does not exist!"));
                    return(null);
                }

                return(await projectRepository.Update(project, labId, projectId));
            });

            FieldAsync <StringGraphType>(
                "deleteProject",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idLab"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "idProject"
            }
                    ),
                resolve: async context =>
            {
                var labId     = context.GetArgument <int>("idLab");
                var projectId = context.GetArgument <int>("idProject");

                if (projectRepository.GetById(labId, projectId) == null)
                {
                    context.Errors.Add(new ExecutionError("Entity does not exist!"));
                    return(null);
                }

                if (await projectRepository.Delete(labId, projectId))
                {
                    return("Entity deleted successfully");
                }
                else
                {
                    return("Removing failed!");
                }
            });
            #endregion
        }
예제 #4
0
        public PatientWorksheet GetPatientWorksheetModel(Customer customer, Event theEvent, EventCustomer eventCustomer)
        {
            var customerId = customer.Id;
            var eventId    = theEvent.Id;

            var order                = _orderRepository.GetOrderByEventCustomerId(eventCustomer.Id);
            var eventPackage         = _eventPackageRepository.GetPackageForOrder(order.Id);
            var eventTest            = _eventTestRepository.GetTestsForOrder(order.Id);
            var products             = _electronicProductRepository.GetAllProductsForEvent(eventId);
            var purchasedProduct     = _electronicProductRepository.GetElectronicProductByOrderId(order.Id);
            var customerIcdCodes     = _customerIcdCodesRepository.GetIcdByCustomerId(customerId);
            var customerTags         = _corporateCustomerCustomTagRepository.GetByCustomerId(customerId);
            var preApporvedTestNames = _preApprovedTestRepository.GetPreApprovedTestNameByEventCustomerId(eventCustomer.Id);
            var testForTechnician    = _eventTestRepository.GetTestsForEventByRole(eventId, (long)Roles.Technician);

            string[] customerRecentTags = null;

            var isCorporateEvent = theEvent.EventType == EventType.Corporate;

            if (customerTags != null && customerTags.Any() && isCorporateEvent)
            {
                customerTags       = customerTags.OrderByDescending(x => x.DataRecorderMetaData.DateCreated).Take(4);
                customerRecentTags = customerTags.Select(x => x.Tag).ToArray();
            }

            var icdCodes = new List <string>();

            if (!customerIcdCodes.IsNullOrEmpty())
            {
                icdCodes = _icdCodesRepository.GetIcdByIds(customerIcdCodes.Select(x => x.IcdCodeId)).Select(x => x.CodeName.ToUpper()).ToList();
            }

            var labName = string.Empty;

            if (customer.LabId.HasValue)
            {
                var lab = _labRepository.GetById(customer.LabId.Value);
                labName = lab.Name;
            }

            return(new PatientWorksheet
            {
                Name = customer.Name,
                CustomerId = customer.CustomerId,
                Dob = customer.DateOfBirth,
                Height = customer.Height,
                Weight = customer.Weight,
                Gender = customer.Gender,
                Package = eventPackage,
                Tests = eventTest,
                Lab = labName,
                AlaCarteTest = testForTechnician,
                AllProducts = products,
                ProductId = purchasedProduct != null ? purchasedProduct.Id : 0,
                IcdCodes = icdCodes,
                PreApporvedTestNames = preApporvedTestNames,
                EventDate = theEvent.EventDate,
                CustomTags = customerRecentTags,
                IsCorporateEvent = theEvent.EventType == EventType.Corporate
            });
        }
예제 #5
0
        public LabMaster getById(int id)
        {
            var labid = _labRepository.GetById(id);

            return(labid);
        }