Beispiel #1
0
        public IHttpActionResult GetAllProtocol(MultiDataModel multidata)
        {
            BoardProtocol data   = JsonConvert.DeserializeObject <BoardProtocol>(multidata.String1);
            var           result = ProtocolBL.GetAllProtocol(data);

            return(Ok(result));
        }
Beispiel #2
0
        public ActionResult GetAllProtocol(BoardProtocol data)
        {
            Api API = new Api();
            Dictionary <string, string> arg = new Dictionary <string, string>()
            {
                { "String1", JsonConvert.SerializeObject(data) },
            };

            ViewBag.Protocol = API.Post <BoardProtocol>("Protocol/GetAllProtocol", arg);
            return(PartialView("_BoardProtocolsPartial"));
        }
 public static BoardProtocol GetAllProtocol(BoardProtocol data)
 {
     return(ProtocolDal.GetAllProtocols(data));
 }
        public static BoardProtocol GetAllProtocols(BoardProtocol data)
        {
            try
            {
                string WorkingOrganization  = data.EmpresaTrabajo == "-1" ? "-1" : data.EmpresaTrabajo.Split('|')[0];
                string EmployerOrganization = data.EmpresaEmpleadora == "-1" ? "-1" : data.EmpresaEmpleadora.Split('|')[0];
                string CustomerOrganization = data.EmpresaCliente == "-1" ? "-1" : data.EmpresaCliente.Split('|')[0];

                DatabaseContext dbContext = new DatabaseContext();
                int             skip      = (data.Index - 1) * data.Take;
                var             query     = from A in dbContext.Protocol
                                            join B in dbContext.Organization on A.v_EmployerOrganizationId equals B.v_OrganizationId
                                            join C in dbContext.Location on A.v_EmployerLocationId equals C.v_LocationId
                                            join D in dbContext.GroupOccupation on A.v_GroupOccupationId equals D.v_GroupOccupationId
                                            join E in dbContext.SystemParameter on new { a = A.i_EsoTypeId.Value, b = 118 }
                equals new { a = E.i_ParameterId, b = E.i_GroupId } into J3_join
                from E in J3_join.DefaultIfEmpty()

                join F in dbContext.Organization on A.v_CustomerOrganizationId equals F.v_OrganizationId

                join I in dbContext.Location on A.v_CustomerLocationId equals I.v_LocationId

                join G in dbContext.Organization on A.v_WorkingOrganizationId equals G.v_OrganizationId into J4_join
                from G in J4_join.DefaultIfEmpty()

                join J in dbContext.Location on A.v_WorkingLocationId equals J.v_LocationId into J6_join
                from J in J6_join.DefaultIfEmpty()

                join H in dbContext.SystemParameter on new { a = A.i_MasterServiceId.Value, b = 119 }
                equals new { a = H.i_ParameterId, b = H.i_GroupId } into J5_join
                from H in J5_join.DefaultIfEmpty()

                join J1 in dbContext.SystemUser on new { i_InsertUserId = A.i_InsertUserId.Value }
                equals new { i_InsertUserId = J1.i_SystemUserId } into J1_join
                from J1 in J1_join.DefaultIfEmpty()

                join J2 in dbContext.SystemUser on new { i_UpdateUserId = A.i_UpdateUserId.Value }
                equals new { i_UpdateUserId = J2.i_SystemUserId } into J2_join
                from J2 in J2_join.DefaultIfEmpty()

                join L in dbContext.ProtocolComponent on A.v_ProtocolId equals L.v_ProtocolId
                join K in dbContext.Component on L.v_ComponentId equals K.v_ComponentId

                where A.i_IsDeleted == 0 &&
                (A.v_Name.Contains(data.ProtocolName) || data.ProtocolName == null) &&
                (A.i_MasterServiceId == data.MasterService || data.MasterService == -1) && (B.v_OrganizationId == EmployerOrganization || EmployerOrganization == "-1") &&
                (F.v_OrganizationId == CustomerOrganization || CustomerOrganization == "-1") && (G.v_OrganizationId == WorkingOrganization || WorkingOrganization == "-1") &&
                (A.i_MasterServiceTypeId == data.MasterServiceType || data.MasterServiceType == -1) && (D.v_GroupOccupationId == data.GESO || data.GESO == "-1") && (A.i_EsoTypeId == data.EsoType || data.EsoType == -1) &&
                (K.v_Name.Contains(data.ComponentName) || data.ComponentName == null) && A.i_IsActive == data.IsActive
                select new ProtocolList
                {
                    v_ProtocolId               = A.v_ProtocolId,
                    v_Protocol                 = A.v_Name,
                    v_Organization             = B.v_Name + " / " + C.v_Name,
                    v_Location                 = C.v_Name,
                    v_EsoType                  = E.v_Value1,
                    v_GroupOccupation          = D.v_Name,
                    v_OrganizationInvoice      = F.v_Name + " / " + I.v_Name,
                    v_CostCenter               = A.v_CostCenter,
                    v_IntermediaryOrganization = G.v_Name + " / " + J.v_Name,
                    i_ServiceTypeId            = A.i_MasterServiceTypeId.Value,
                    v_MasterServiceName        = H.v_Value1,
                    i_MasterServiceId          = A.i_MasterServiceId.Value,
                    v_OrganizationId           = B.v_OrganizationId + "|" + C.v_LocationId,
                    i_EsoTypeId                = A.i_EsoTypeId,
                    v_WorkingOrganizationId    = G.v_OrganizationId + "|" + J.v_LocationId,
                    v_OrganizationInvoiceId    = F.v_OrganizationId + "|" + I.v_LocationId,
                    v_GroupOccupationId        = D.v_GroupOccupationId,
                    v_Geso               = D.v_Name,
                    v_CreationUser       = J1.v_UserName,
                    v_UpdateUser         = J2.v_UserName,
                    d_CreationDate       = A.d_InsertDate,
                    d_UpdateDate         = A.d_UpdateDate,
                    v_LocationId         = A.v_EmployerLocationId,
                    v_CustomerLocationId = A.v_CustomerLocationId,
                    v_WorkingLocationId  = A.v_WorkingLocationId,
                    i_IsActive           = A.i_IsActive,
                    v_ComponenteNombre   = K.v_Name,
                    r_PriceFactor        = A.r_PriceFactor,
                    r_HospitalBedPrice   = A.r_HospitalBedPrice,
                    r_DiscountExam       = A.r_DiscountExam,
                    r_MedicineDiscount   = A.r_MedicineDiscount,
                    AseguradoraId        = A.v_AseguradoraOrganizationId
                };
                var list = query.ToList();
                list = list.GroupBy(x => x.v_ProtocolId).Select(z => z.First()).OrderByDescending(x => x.v_ProtocolId).ToList();
                int totalRecords = list.Count;
                if (data.Take > 0)
                {
                    list = list.Skip(skip).Take(data.Take).ToList();
                }
                data.List         = list;
                data.TotalRecords = totalRecords;
                return(data);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }