示例#1
0
文件: CustomLog.cs 项目: pb0/ID0_Test
 static void Open()
 {
     if (instance == null)
     {
         instance = EditorWindow.GetWindow<CustomLog>(false, "CustomLog", true);
     }
     else
     {
         instance.Focus();
     }
 }
        public async Task <ServiceResponse <int> > PostMasterData(MasterData masterData)
        {
            var response = new ServiceResponse <int>();

            try
            {
                masterData.createdBy   = LoggedInUser;
                masterData.createdDate = DateTime.UtcNow;
                _context.MasterData.Add(masterData);
                await _context.SaveChangesAsync();

                response.Data    = masterData.id;
                response.Success = true;
                response.Message = "Master data added successfully";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }


            return(response);
        }
示例#3
0
        public async Task <ServiceResponse <int> > PostRecruitCare(RecruitCare recruitCare)
        {
            var response = new ServiceResponse <int>();

            try
            {
                if (recruitCare == null || recruitCare.id > 0)
                {
                    response.Message = "Invalid item , Please correct and try again";
                    response.Success = false;
                    return(response);
                }
                var jobCandidate = _context.JobCandidates.FirstOrDefault(x => x.jobid == recruitCare.jobid && x.email == recruitCare.email);
                if (jobCandidate != null)
                {
                    response.Message = $"Candidate already exist for job {jobCandidate.jobid}";
                    response.Success = false;
                    return(response);
                }
                recruitCare.createdBy   = LoggedInUser;
                recruitCare.createdDate = DateTime.UtcNow;
                _context.RecruitCare.Add(recruitCare);
                await _context.SaveChangesAsync();

                response.Success = true;
                response.Message = "Recruitcare item added successfully";
                response.Data    = recruitCare.id;
            }
            catch (Exception ex)
            {
                response.Message = await CustomLog.Log(ex, _context);

                response.Success = false;
            }
            return(response);
        }
        public async Task <ServiceResponse <int> > PostClientCodes(ClientCodes clientCodes)
        {
            var response = new ServiceResponse <int>();

            try
            {
                clientCodes.createdDate = DateTime.UtcNow;
                clientCodes.createdBy   = LoggedInUser;
                _context.ClientCodes.Add(clientCodes);
                await _context.SaveChangesAsync();

                response.Data    = clientCodes.Id;
                response.Success = true;
                response.Message = "Master data type added successfully";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }


            return(response);
        }
示例#5
0
        public async Task <ServiceResponse <City> > GetCity(int id)
        {
            var response = new ServiceResponse <City>();

            try
            {
                response.Data = await _context.Citys.FindAsync(id);

                if (response.Data == null)
                {
                    response.Success = false;
                    response.Message = "Data not found";
                    return(response);
                }
                response.Success = true;
                response.Message = "Data Retrived";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
示例#6
0
        public async Task <ServiceResponse <int> > PostState(State state)
        {
            var response = new ServiceResponse <int>();

            try
            {
                state.createdBy   = LoggedInUser;
                state.createdDate = DateTime.UtcNow;
                _context.State.Add(state);
                await _context.SaveChangesAsync();

                response.Data    = state.Id;
                response.Success = true;
                response.Message = "Stateadded successfully";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }


            return(response);
        }
示例#7
0
        public async Task <ServiceResponse <List <Country> > > GetCountriesByUserId()
        {
            var response = new ServiceResponse <List <Country> >();

            try
            {
                var user = _context.Users.FirstOrDefault(x => x.id == LoggedInUser);
                response.Data = user.roleId == (int)Roles.SuperAdmin ? _context.Countries.ToList() : _context.Countries.Where(x => x.Id == user.country).ToList();
                if (response.Data == null)
                {
                    response.Success = false;
                    response.Message = "Data not found";
                    return(response);
                }
                response.Success = true;
                response.Message = "Data Retrived";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
示例#8
0
        public async Task <ActionResult <ServiceResponse <OpeningsList> > > GetOpeningsByCountry(string type, CustomPagingRequest request)
        {
            var response = new ServiceResponse <OpeningsList>();

            try
            {
                var countries = _context.Countries.ToList();
                var user      = _context.Users.FirstOrDefault(x => x.id == LoggedInUser);
                if (user != null && user.roleId != (int)Roles.SuperAdmin)
                {
                    countries = countries.Where(x => x.Id == user.country).ToList();
                }
                switch (type)
                {
                case "in":
                    countries = countries.Where(x => x.Code == "IN").ToList();
                    break;

                case "gl":
                    countries = countries.Where(x => x.Code != "IN").ToList();
                    break;
                }
                var countryCodes = countries.Select(x => x.Id).ToList();
                response.Data = new OpeningsList();
                var query = (from o in _context.Openings
                             join a in _context.Users on o.assaignedTo equals a.id into assaigns
                             from a in assaigns.DefaultIfEmpty()
                             join c in _context.Citys on o.city equals c.Id
                             join cl in _context.ClientCodes on o.client equals cl.Id
                             join co in _context.Users on o.contactName equals co.id into contacts
                             from co in contacts.DefaultIfEmpty()
                             join am in _context.Users on o.accountManager equals am.id into accounts
                             from am in accounts.DefaultIfEmpty()
                             join s in _context.MasterData on o.status equals s.id
                             join cou in _context.Countries on o.country equals cou.Id
                             join cr in _context.Users on o.createdBy equals cr.id
                             join md in _context.Users on o.modifiedBy equals md.id into modifies
                             from md in modifies.DefaultIfEmpty()
                             where countryCodes.Contains(o.country)
                             select new OpeningsListView()
                {
                    id = o.id,
                    accountManager = Common.GetFullName(am),
                    account = o.accountManager,
                    assaignedTo = Common.GetFullName(a),
                    assaigned = o.assaignedTo,
                    city = c.Name,
                    client = cl.Name,
                    contactName = Common.GetFullName(co),
                    contact = o.contactName,
                    jobid = o.id,
                    jobName = o.jobid,
                    jobtitle = o.jobtitle,
                    status = s.name,
                    targetdate = o.targetdate,
                    canEdit = (user != null && user.roleId == (int)Roles.SuperAdmin) || (o.createdBy == LoggedInUser || o.modifiedBy == LoggedInUser),
                    countryCode = cou.Code,
                    createdByName = Common.GetFullName(cr),
                    createdDate = o.createdDate,
                    modifiedDate = o.modifiedDate,
                    modifiedName = Common.GetFullName(md),
                    createdBy = o.createdBy,
                    modifiedBy = o.modifiedBy
                }).AsQueryable();

                switch (request.sort)
                {
                case "accountManager":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.account) : query.OrderBy(x => x.account));
                    break;

                case "assaignedTo":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.assaigned) :
                             query.OrderBy(x => x.assaigned));
                    break;

                case "city":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.city) : query.OrderBy(x => x.city));
                    break;

                case "client":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.client) : query.OrderBy(x => x.client));
                    break;

                case "contactName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.contact) : query.OrderBy(x => x.contact));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "id":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "jobName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.jobid) : query.OrderBy(x => x.jobid));
                    break;

                case "jobid":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "jobtitle":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.jobtitle) : query.OrderBy(x => x.jobtitle));
                    break;

                case "status":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.status) : query.OrderBy(x => x.status));
                    break;

                case "targetdate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.targetdate) : query.OrderBy(x => x.targetdate));
                    break;

                case "createdByName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "modifiedName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                default:
                    break;
                }

                response.Data.Jobs = new PagedList <OpeningsListView>(
                    query, request);

                response.Data.Candidates = await(from x in _context.JobCandidates
                                                 join j in _context.Openings on x.jobid equals j.id
                                                 join s in _context.MasterData on x.status equals s.id
                                                 join t in _context.MasterData on x.totalExp equals t.id into totalExps
                                                 from t in totalExps.DefaultIfEmpty()
                                                 join r in _context.MasterData on x.relavantExp equals r.id into relavantExps
                                                 from r in relavantExps.DefaultIfEmpty()
                                                 join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                                                 from b in bestways.DefaultIfEmpty()
                                                 join v in _context.MasterData on x.visaType equals v.id into visaTypes
                                                 from v in visaTypes.DefaultIfEmpty()
                                                 join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                                                 from h in qualifications.DefaultIfEmpty()
                                                 join st in _context.State on x.state equals st.Id into states
                                                 from st in states.DefaultIfEmpty()
                                                 join ci in _context.Citys on x.city equals ci.Id into cities
                                                 from ci in cities.DefaultIfEmpty()
                                                 join cu in _context.Countries on j.country equals cu.Id
                                                 where response.Data.Jobs.List.Select(x => x.jobid).Contains(x.jobid) && (user != null && user.roleId == (int)Roles.SuperAdmin) || (x.createdBy == LoggedInUser || x.modifiedBy == LoggedInUser)
                                                 select new JobCandidatesView()
                {
                    jobid                    = x.jobid,
                    firstName                = x.firstName,
                    id                       = x.id,
                    lastName                 = x.lastName,
                    middleName               = x.middleName,
                    phone                    = x.phone,
                    resume                   = x.resume,
                    status                   = s.id,
                    statusName               = s.name,
                    email                    = x.email,
                    fileName                 = x.fileName,
                    jobName                  = j.jobid,
                    anyOfferExist            = x.anyOfferExist,
                    bestTimeToReach          = x.bestTimeToReach,
                    bestWayToReach           = x.bestWayToReach,
                    city                     = x.city,
                    educationDetails         = x.educationDetails,
                    expectedRatePerHour      = x.expectedRatePerHour,
                    highestQualification     = x.highestQualification,
                    relavantExp              = x.relavantExp,
                    rtr                      = x.rtr,
                    skypeid                  = x.skypeid,
                    state                    = x.state,
                    totalExp                 = x.totalExp,
                    visaType                 = x.visaType,
                    totalExpName             = t.name,
                    relavantExpName          = r.name,
                    bestWayToReachName       = b.name,
                    highestQualificationName = h.name,
                    visaTypeName             = v.name,
                    cityName                 = ci.Name,
                    stateName                = st.Name,
                    countryCode              = cu.Code,
                    currentCTC               = x.currentCTC,
                    expectedCTC              = x.expectedCTC
                }).ToListAsync();
                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }

            return(Ok(response));
        }
示例#9
0
        public async Task <ServiceResponse <OpeningsView> > GetOpenings(int id)
        {
            var response = new ServiceResponse <OpeningsView>();

            try
            {
                var user     = _context.Users.FirstOrDefault(x => x.id == LoggedInUser);
                var openings = await(from x in _context.Openings
                                     join cr in _context.Users on x.createdBy equals cr.id
                                     join st in _context.MasterData on x.status equals st.id
                                     join cou in _context.Countries on x.country equals cou.Id
                                     join sta in _context.State on x.state equals sta.Id
                                     join ci in _context.Citys on x.city equals ci.Id
                                     join ass in _context.Users on x.assaignedTo equals ass.id into assains
                                     from ass in assains.DefaultIfEmpty()
                                     join cl in _context.ClientCodes on x.client equals cl.Id
                                     join con in _context.Users on x.contactName equals con.id into contacts
                                     from con in contacts.DefaultIfEmpty()
                                     join acc in _context.Users on x.accountManager equals acc.id into accounts
                                     from acc in accounts.DefaultIfEmpty()
                                     join exp in _context.MasterData on x.experience equals exp.id
                                     join indus in _context.MasterData on x.industry equals indus.id
                                     join types in _context.MasterData on x.jobtype equals types.id
                                     where x.id == id
                                     select new OpeningsView()
                {
                    jobid          = x.jobid,
                    accountManager = Common.GetFullName(acc),
                    state          = sta.Name,
                    country        = cou.Name,
                    assaigned      = Common.GetFullName(ass),
                    city           = ci.Name,
                    client         = cl.Name,
                    contactName    = Common.GetFullName(con),
                    description    = x.description,
                    experience     = exp.name,
                    jobtitle       = x.jobtitle,
                    status         = st.name,
                    zip            = x.zip,
                    targetDate     = x.targetdate,
                    salary         = x.salary,
                    createdBy      = Common.GetFullName(cr),
                    industry       = indus.name,
                    jobtype        = types.name,
                    company_url    = cl.url
                }).AsQueryable().FirstOrDefaultAsync();

                if (openings == null)
                {
                    response.Message = "Job Id not found";
                    response.Success = false;
                    return(response);
                }

                openings.Candidates = (from x in _context.JobCandidates
                                       join j in _context.Openings on x.jobid equals j.id
                                       join s in _context.MasterData on x.status equals s.id
                                       join t in _context.MasterData on x.totalExp equals t.id into totalExps
                                       from t in totalExps.DefaultIfEmpty()
                                       join r in _context.MasterData on x.relavantExp equals r.id into relavantExps
                                       from r in relavantExps.DefaultIfEmpty()
                                       join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                                       from b in bestways.DefaultIfEmpty()
                                       join v in _context.MasterData on x.visaType equals v.id into visaTypes
                                       from v in visaTypes.DefaultIfEmpty()
                                       join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                                       from h in qualifications.DefaultIfEmpty()
                                       join st in _context.State on x.state equals st.Id into states
                                       from st in states.DefaultIfEmpty()
                                       join ci in _context.Citys on x.city equals ci.Id into cities
                                       from ci in cities.DefaultIfEmpty()
                                       join cr in _context.Users on x.createdBy equals cr.id
                                       join md in _context.Users on x.modifiedBy equals md.id into modifies
                                       from md in modifies.DefaultIfEmpty()
                                       where j.id == id && (user != null && user.roleId == (int)Roles.SuperAdmin) || (x.createdBy == LoggedInUser || x.modifiedBy == LoggedInUser)
                                       select new JobCandidatesView()
                {
                    jobid = x.jobid,
                    jobName = j.jobid,
                    firstName = x.firstName,
                    id = x.id,
                    lastName = x.lastName,
                    middleName = x.middleName,
                    phone = x.phone,
                    resume = x.resume,
                    status = s.id,
                    statusName = s.name,
                    email = x.email,
                    fileName = x.fileName,
                    anyOfferExist = x.anyOfferExist,
                    bestTimeToReach = x.bestTimeToReach,
                    bestWayToReach = x.bestWayToReach,
                    city = x.city,
                    educationDetails = x.educationDetails,
                    expectedRatePerHour = x.expectedRatePerHour,
                    highestQualification = x.highestQualification,
                    relavantExp = x.relavantExp,
                    rtr = x.rtr,
                    skypeid = x.skypeid,
                    state = x.state,
                    totalExp = x.totalExp,
                    visaType = x.visaType,
                    totalExpName = t.name,
                    relavantExpName = r.name,
                    bestWayToReachName = b.name,
                    highestQualificationName = h.name,
                    visaTypeName = v.name,
                    cityName = ci.Name,
                    stateName = st.Name,
                    modifiedDate = x.modifiedDate,
                    createdDate = x.createdDate,
                    createdBy = x.createdBy,
                    modifiedBy = x.modifiedBy,
                    createdByName = Common.GetFullName(cr),
                    modifiedByName = Common.GetFullName(md)
                }).AsQueryable().ToList();
                response.Data    = openings;
                response.Message = "Success";
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Message = await CustomLog.Log(ex, _context);

                response.Success = false;
                return(response);
            }


            return(response);
        }
示例#10
0
 void OnEnable()
 {
     CustomLog.LogError("Error");
 }
示例#11
0
        public ActionResult ChipsSuccess(string Content, bool isServerCall = false)
        {
            string temp = Content;

            try
            {
                Content = DESHelper.DecryptDES(Content);
                CustomLog.WriteLog(Content);
                temp = Content;
                System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
                PaymentModel payModel = jss.Deserialize <Models.PaymentModel>(Content);

                //判断订单是否存在
                if (Helpers.UmbPayRecordsHelper.IsExistsBillno(payModel.Billno))
                {
                    IContent content       = null;
                    IMember  currentMember = null;
                    if (payModel.Email.Contains("^_^"))
                    {
                        string[] array = payModel.Email.Split(new string[] { "^_^" }, StringSplitOptions.RemoveEmptyEntries);
                        //memberid
                        currentMember = Services.MemberService.GetById(int.Parse(array[0]));
                        //content = Services.ContentService.GetById(int.Parse(array[1]));
                        //chips:pay:successurl
                        if (currentMember != null)
                        {
                            IContentType ct    = Services.ContentTypeService.GetContentType("Chipsdepositdocument");
                            string       title = string.Format("比特公寓成都万达城店[{0}]", payModel.Amount);
                            content = Services.ContentService.CreateContent(currentMember.Name + "_" + title, ct.Id, "Chipsdepositdocument");
                            content.SetValue("member", currentMember.Id.ToString());
                            content.SetValue("orderid", payModel.Billno);
                            content.SetValue("chipsProduct", title);
                            content.SetValue("amount", payModel.Amount.ToString());
                            content.SetValue("username", currentMember.GetValue <string>("tel") + "_" + payModel.Amount);
                            content.SetValue("isRefund", false);
                            content.SetValue("isOk", false);
                            Services.ContentService.Save(content);
                            //触发创建事件
                            //EventHandlers.CustomRaiseEvent.RaiseContentCreated(content);
                            CustomLog.WriteLog("success!!");
                        }
                        else
                        {
                            CustomLog.WriteLog("不存在此用户!! memberid :" + array[0]);
                        }
                    }
                    else
                    {
                    }
                    return(Json("ok", JsonRequestBehavior.AllowGet));
                }
                else
                {
                    CustomLog.WriteLog("重复提交" + payModel.Billno);
                    return(new ContentResult()
                    {
                        Content = "重复提交"
                    });
                }
            }
            catch (Exception ex)
            {
                CustomLog.WriteLog(ex.ToString());
                return(new ContentResult()
                {
                    Content = "fail" + temp + ex
                });
            }
        }
示例#12
0
        private async Task <ServiceResponse <UserDto> > validateUser(UserLoginDto userdto)
        {
            var response = new ServiceResponse <UserDto>();

            try
            {
                response.Data = await(from x in _context.Users
                                      join y in _context.MasterData on x.roleId equals y.id
                                      where x.userid.ToLower() == userdto.UserId.ToLower()
                                      select new UserDto()
                {
                    id                     = x.id,
                    roleId                 = x.roleId,
                    active                 = x.active,
                    countryId              = x.country,
                    email                  = x.email,
                    firstName              = x.firstName,
                    lastName               = x.lastName,
                    loginTypes             = x.loginTypes,
                    middleName             = x.middleName,
                    roleName               = y.name,
                    userid                 = x.userid,
                    password               = x.password,
                    passwordChangeRequired = x.passwordChangeRequired
                }).FirstOrDefaultAsync();
                if (response.Data == null)
                {
                    response.Success = false;
                    response.Message = "User not found.";
                }
                else if (DecodeFrom64(response.Data.password) != userdto.Password)
                {
                    response.Success = false;
                    response.Message = "Wrong password.";
                }
                //else if((string.IsNullOrEmpty(user.loginTypes) || !user.loginTypes.Split(',').Contains(userdto.LoginType.ToString())) && user.loginTypes != "Admin")
                //{
                //    response.Success = false;
                //    response.Message = "You are not authorized to view this content";
                //}
                else
                {
                    response.Success = true;
                    var userSession = new UserSession();
                    userSession.sessionId = Guid.NewGuid().ToString();
                    userSession.userid    = response.Data.id;
                    userSession.inTime    = DateTime.UtcNow;
                    _context.UserSession.Add(userSession);
                    _context.SaveChanges();
                    response.Data.sessionId = userSession.sessionId;
                    response.Data           = GenerateToken(response.Data);
                    response.Message        = "Login Success";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }


            return(response);
        }
        public async Task <ServiceResponse <JobCandidatesView> > UploadAttachment(int id)
        {
            var response = new ServiceResponse <JobCandidatesView>();

            if (!Request.Form.Files.Any() || id <= 0)
            {
                response.Success = false;
                response.Message = "Unable to find resume or invalid candidate id";
                return(response);
            }

            try
            {
                var candidate = _context.JobCandidates.Find(id);
                if (candidate == null)
                {
                    response.Success = false;
                    response.Message = "Unable to find candidate";
                    return(response);
                }
                using (var memoryStream = new MemoryStream())
                {
                    Request.Form.Files[0].CopyTo(memoryStream);
                    candidate.resume   = memoryStream.ToArray();
                    candidate.fileName = Request.Form.Files[0].FileName;
                }
                response.Success = true;
                response.Message = "Add or Update Success";
                response.Data    = await(from x in _context.JobCandidates
                                         join s in _context.MasterData on x.status equals s.id
                                         where x.id == id
                                         select new JobCandidatesView()
                {
                    jobid        = x.jobid,
                    firstName    = x.firstName,
                    id           = x.id,
                    lastName     = x.lastName,
                    middleName   = x.middleName,
                    phone        = x.phone,
                    resume       = x.resume,
                    statusName   = s.name,
                    status       = s.id,
                    email        = x.email,
                    fileName     = x.fileName,
                    createdBy    = x.createdBy,
                    createdDate  = x.createdDate,
                    modifiedBy   = x.modifiedBy,
                    modifiedDate = x.modifiedDate
                }).FirstOrDefaultAsync();
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                if (!JobCandidatesExists(id))
                {
                    response.Success = false;
                    response.Message = "Unable to find candidate";
                    return(response);
                }
                else
                {
                    response.Success = false;
                    response.Message = await CustomLog.Log(ex, _context);

                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);

                return(response);
            }

            return(response);
        }
        public async Task <ServiceResponse <List <JobCandidatesView> > > GetByJobId(int id)
        {
            var response = new ServiceResponse <List <JobCandidatesView> >();

            try
            {
                response.Data = await(from x in _context.JobCandidates
                                      join j in _context.Openings on x.jobid equals j.id
                                      join s in _context.MasterData on x.status equals s.id
                                      join t in _context.MasterData on x.totalExp equals t.id into totalExps
                                      from t in totalExps.DefaultIfEmpty()
                                      join r in _context.MasterData on x.relavantExp equals r.id into relavantExps
                                      from r in relavantExps.DefaultIfEmpty()
                                      join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                                      from b in bestways.DefaultIfEmpty()
                                      join v in _context.MasterData on x.visaType equals v.id into visaTypes
                                      from v in visaTypes.DefaultIfEmpty()
                                      join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                                      from h in qualifications.DefaultIfEmpty()
                                      join st in _context.State on x.state equals st.Id into states
                                      from st in states.DefaultIfEmpty()
                                      join ci in _context.Citys on x.city equals ci.Id into cities
                                      from ci in cities.DefaultIfEmpty()
                                      join cu in _context.Countries on j.country equals cu.Id
                                      join cr in _context.Users on x.createdBy equals cr.id
                                      join md in _context.Users on x.modifiedBy equals md.id into modifies
                                      from md in modifies.DefaultIfEmpty()
                                      where x.jobid == id
                                      select new JobCandidatesView()
                {
                    jobid                    = x.jobid,
                    firstName                = x.firstName,
                    id                       = x.id,
                    lastName                 = x.lastName,
                    middleName               = x.middleName,
                    phone                    = x.phone,
                    resume                   = x.resume,
                    status                   = s.id,
                    statusName               = s.name,
                    email                    = x.email,
                    fileName                 = x.fileName,
                    jobName                  = j.jobid,
                    anyOfferExist            = x.anyOfferExist,
                    bestTimeToReach          = x.bestTimeToReach,
                    bestWayToReach           = x.bestWayToReach,
                    city                     = x.city,
                    educationDetails         = x.educationDetails,
                    expectedRatePerHour      = x.expectedRatePerHour,
                    highestQualification     = x.highestQualification,
                    relavantExp              = x.relavantExp,
                    rtr                      = x.rtr,
                    skypeid                  = x.skypeid,
                    state                    = x.state,
                    totalExp                 = x.totalExp,
                    visaType                 = x.visaType,
                    totalExpName             = t.name,
                    relavantExpName          = r.name,
                    bestWayToReachName       = b.name,
                    highestQualificationName = h.name,
                    visaTypeName             = v.name,
                    cityName                 = ci.Name,
                    stateName                = st.Name,
                    countryCode              = cu.Code,
                    modifiedDate             = x.modifiedDate,
                    createdDate              = x.createdDate,
                    createdBy                = x.createdBy,
                    modifiedBy               = x.modifiedBy,
                    createdByName            = Common.GetFullName(cr),
                    modifiedByName           = Common.GetFullName(md)
                }).AsQueryable().ToListAsync();

                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }



            return(response);
        }
示例#15
0
 // ===========================================================
 // Inner and Anonymous Classes
 // ===========================================================
 private static int UpdateShoppingList(int id)
 {
     CustomLog.Diagnostic("ItemID : {0} : {1}", id, ItemList.Any(u => u == id) ? Lua.GetReturnVal<int>(string.Format("return GetItemCount({0})", id), 0) : 0);
     return ItemList.Any(u => u == id) ? Lua.GetReturnVal<int>(string.Format("return GetItemCount({0})", id), 0) : 0;
 }
示例#16
0
 void Update()
 {
     //add UNITY_LOG_DEBUG to not to strip calling LogDebug in all project
     CustomLog.LogDebug($"{typeof(LoggerExample)} some heavy string interpolation {HeavyMethod()}");
 }
示例#17
0
 //remove UNITY_NOT_RELEASE define in Project setting to completely strip all logs
 void Awake()
 {
     CustomLog.LogWarning("Warning");
 }
示例#18
0
 string HeavyMethod()
 {
     CustomLog.LogError("Heavy method called!");
     return("@@ heavy string from heavy method @@");
 }
示例#19
0
        public async Task <ServiceResponse <PagedList <CityView> > > GetCitys(CustomPagingRequest request)
        {
            var response = new ServiceResponse <PagedList <CityView> >();

            try
            {
                var query = (from x in _context.Citys
                             join y in _context.State on x.State equals y.Id
                             join z in _context.Countries on y.Country equals z.Id
                             join c in _context.Users on x.createdBy equals c.id
                             join m in _context.Users on x.modifiedBy equals m.id into modifies
                             from m in modifies.DefaultIfEmpty()
                             select new CityView()
                {
                    modifiedBy = x.modifiedBy,
                    countryName = z.Name,
                    createdBy = x.createdBy,
                    createdByName = Common.GetFullName(c),
                    createdDate = x.createdDate,
                    modifiedByName = Common.GetFullName(m),
                    modifiedDate = x.modifiedDate,
                    stateName = y.Name,
                    Name = x.Name,
                    Id = x.Id,
                    State = x.State,
                    country = y.Country
                }).AsQueryable();

                switch (request.sort)
                {
                case "countryName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.country) : query.OrderBy(x => x.country));
                    break;

                case "modifiedBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) :
                             query.OrderBy(x => x.modifiedBy));
                    break;

                case "createdBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "modifiedName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "id":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.Id) : query.OrderBy(x => x.Id));
                    break;

                case "stateName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.State) : query.OrderBy(x => x.State));
                    break;

                default:
                    break;
                }

                response.Data = new PagedList <CityView>(
                    query, request);
                response.Success = true;
                response.Message = "Data Retrived";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
        public async Task <ServiceResponse <PagedList <MasterDataView> > > GetMasterData(CustomPagingRequest request)
        {
            var response = new ServiceResponse <PagedList <MasterDataView> >();

            try
            {
                var query = (from x in _context.MasterData
                             join y in _context.MasterDataType on x.type equals y.id
                             join c in _context.Users on x.createdBy equals c.id
                             join m in _context.Users on x.modifiedBy equals m.id into modifies
                             from m in modifies.DefaultIfEmpty()
                             select new MasterDataView()
                {
                    id = x.id,
                    modifiedBy = x.modifiedBy,
                    createdBy = x.createdBy,
                    createdDate = x.createdDate,
                    createdName = Common.GetFullName(c),
                    modifiedName = Common.GetFullName(m),
                    modifiedDate = x.modifiedDate,
                    name = x.name,
                    type = x.type,
                    typeName = y.name
                }).AsQueryable();
                switch (request.sort)
                {
                case "type":
                case "typeName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.type) : query.OrderBy(x => x.type));
                    break;

                case "modifiedBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) :
                             query.OrderBy(x => x.modifiedBy));
                    break;

                case "createdBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "modifiedName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "id":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "name":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.name) : query.OrderBy(x => x.name));
                    break;

                default:
                    break;
                }

                response.Data = new PagedList <MasterDataView>(
                    query, request);
                response.Success = true;
                response.Message = "Data Retrived";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
示例#21
0
        public static List <CustomLog> GetLogEntries(ObjectStateManager entities)
        {
            List <CustomLog> listLogs = new List <CustomLog>();
            var entries = entities.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted);
            var user    = HttpContext.Current.User.Identity.Name;

            foreach (var entry in entries)
            {
                var tableName = entry.Entity.GetType().Name;
                if (tableName.Contains("SAX_PARTIDAS"))
                {
                    return(new List <CustomLog>());
                }
                var pk = GetPrimaryKeys(entry);
                if (entry.State == EntityState.Added)
                {
                    var newgroup      = Guid.NewGuid();
                    var currentEntry  = entities.GetObjectStateEntry(entry.EntityKey);
                    var currentValues = currentEntry.CurrentValues;
                    for (var i = 0; i < currentValues.FieldCount; i++)
                    {
                        var propName = currentValues.DataRecordInfo.FieldMetadata[i].FieldType.Name;
                        var newValue = currentValues[propName].ToString();
                        var log      = new CustomLog()
                        {
                            Id         = Guid.NewGuid(),
                            GuidGroup  = newgroup,
                            Action     = "I",
                            TableName  = tableName,
                            PrimaryKey = pk,
                            ColumnName = propName,
                            OldValue   = null,
                            NewValue   = newValue,
                            Date       = DateTime.Now,
                            UserId     = user
                        };
                        listLogs.Add(log);
                    }
                }
                else if (entry.State == EntityState.Modified)
                {
                    var currentEntry   = entities.GetObjectStateEntry(entry.EntityKey);
                    var currentValues  = currentEntry.CurrentValues;
                    var originalValues = currentEntry.OriginalValues;
                    var properties     = currentEntry.GetModifiedProperties();
                    var updgroup       = Guid.NewGuid();
                    foreach (var propName in properties)
                    {
                        var oldValue = originalValues[propName].ToString();
                        var newValue = currentValues[propName].ToString();
                        if (oldValue == newValue)
                        {
                            continue;
                        }
                        var log = new CustomLog()
                        {
                            Id         = Guid.NewGuid(),
                            GuidGroup  = updgroup,
                            Action     = "M",
                            TableName  = tableName,
                            PrimaryKey = pk,
                            ColumnName = propName,
                            OldValue   = oldValue,
                            NewValue   = newValue,
                            Date       = DateTime.Now,
                            UserId     = user
                        };
                        listLogs.Add(log);
                    }
                }
                else if (entry.State == EntityState.Deleted)
                {
                    var currentEntry   = entities.GetObjectStateEntry(entry.EntityKey);
                    var originalValues = currentEntry.OriginalValues;
                    var delgroup       = Guid.NewGuid();
                    for (var i = 0; i < originalValues.FieldCount; i++)
                    {
                        var oldValue = originalValues[i].ToString();
                        var log      = new CustomLog()
                        {
                            Id         = Guid.NewGuid(),
                            GuidGroup  = delgroup,
                            Action     = "D",
                            TableName  = tableName,
                            PrimaryKey = pk,
                            ColumnName = null,
                            OldValue   = oldValue,
                            NewValue   = null,
                            Date       = DateTime.Now,
                            UserId     = user
                        };
                        listLogs.Add(log);
                    }
                }
            }
            return(listLogs);
        }
示例#22
0
    //public override void OnDestroyShield()
    //{
    //    CustomLog.CompleteLog("Player Shield Destroyed");
    //}

    public override void OnLoseHP()
    {
        CustomLog.CompleteLog("Player Lose HP");
    }
        public async Task <ServiceResponse <PagedList <JobCandidatesView> > > GetJobCandidatesByStatus(int id, CustomPagingRequest request)
        {
            var response = new ServiceResponse <PagedList <JobCandidatesView> >();

            try
            {
                var user       = _context.Users.Find(LoggedInUser);
                var candidates = await(from x in _context.JobCandidates
                                       join j in _context.Openings on x.jobid equals j.id
                                       join s in _context.MasterData on x.status equals s.id
                                       join t in _context.MasterData on x.totalExp equals t.id into totalExps
                                       from t in totalExps.DefaultIfEmpty()
                                       join r in _context.MasterData on x.relavantExp equals r.id into relavantExps
                                       from r in relavantExps.DefaultIfEmpty()
                                       join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                                       from b in bestways.DefaultIfEmpty()
                                       join v in _context.MasterData on x.visaType equals v.id into visaTypes
                                       from v in visaTypes.DefaultIfEmpty()
                                       join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                                       from h in qualifications.DefaultIfEmpty()
                                       join st in _context.State on x.state equals st.Id into states
                                       from st in states.DefaultIfEmpty()
                                       join ci in _context.Citys on x.city equals ci.Id into cities
                                       from ci in cities.DefaultIfEmpty()
                                       join cu in _context.Countries on j.country equals cu.Id
                                       join cr in _context.Users on x.createdBy equals cr.id
                                       join md in _context.Users on x.modifiedBy equals md.id into modifies
                                       from md in modifies.DefaultIfEmpty()
                                       where x.status == id && j.country == user.country
                                       select new JobCandidatesView()
                {
                    jobid                    = x.jobid,
                    firstName                = x.firstName,
                    id                       = x.id,
                    lastName                 = x.lastName,
                    middleName               = x.middleName,
                    phone                    = x.phone,
                    resume                   = x.resume,
                    status                   = s.id,
                    statusName               = s.name,
                    email                    = x.email,
                    fileName                 = x.fileName,
                    jobName                  = j.jobid,
                    anyOfferExist            = x.anyOfferExist,
                    bestTimeToReach          = x.bestTimeToReach,
                    bestWayToReach           = x.bestWayToReach,
                    city                     = x.city,
                    educationDetails         = x.educationDetails,
                    expectedRatePerHour      = x.expectedRatePerHour,
                    highestQualification     = x.highestQualification,
                    relavantExp              = x.relavantExp,
                    rtr                      = x.rtr,
                    skypeid                  = x.skypeid,
                    state                    = x.state,
                    totalExp                 = x.totalExp,
                    visaType                 = x.visaType,
                    totalExpName             = t.name,
                    relavantExpName          = r.name,
                    bestWayToReachName       = b.name,
                    highestQualificationName = h.name,
                    visaTypeName             = v.name,
                    cityName                 = ci.Name,
                    stateName                = st.Name,
                    countryCode              = cu.Code,
                    modifiedDate             = x.modifiedDate,
                    createdDate              = x.createdDate,
                    createdBy                = x.createdBy,
                    modifiedBy               = x.modifiedBy,
                    createdByName            = Common.GetFullName(cr),
                    modifiedByName           = Common.GetFullName(md)
                }).AsQueryable().ToListAsync();

                var query = (from x in _context.RecruitCare
                             join y in _context.Openings on x.jobid equals y.id
                             join s in _context.MasterData on x.status equals s.id
                             join c in _context.Users on x.createdBy equals c.id
                             join m in _context.Users on x.modifiedBy equals m.id into modifiedUsers
                             from m in modifiedUsers.DefaultIfEmpty()
                             join n in _context.MasterData on x.noticePeriod equals n.id into notices
                             from n in notices.DefaultIfEmpty()
                             join t in _context.MasterData on x.totalExp equals t.id
                             join r in _context.MasterData on x.relavantExp equals r.id
                             join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                             from b in bestways.DefaultIfEmpty()
                             join v in _context.MasterData on x.visaType equals v.id into visaTypes
                             from v in visaTypes.DefaultIfEmpty()
                             join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                             from h in qualifications.DefaultIfEmpty()
                             join st in _context.State on x.state equals st.Id
                             join ci in _context.Citys on x.city equals ci.Id
                             join co in _context.Countries on y.country equals co.Id
                             where x.status == id && y.country == user.country
                             select new JobCandidatesView()
                {
                    jobid = y.id,
                    jobName = y.jobid,
                    createdBy = x.createdBy,
                    createdByName = Common.GetFullName(c),
                    email = x.email,
                    id = x.id,
                    modifiedBy = x.modifiedBy,
                    modifiedByName = Common.GetFullName(m),
                    modifiedDate = x.modifiedDate,
                    createdDate = x.createdDate.Value,
                    firstName = x.firstName,
                    lastName = x.lastName,
                    middleName = x.middleName,
                    phone = x.phone,
                    status = x.status,
                    statusName = s.name,
                    fileName = x.fileName,
                    anyOfferExist = x.anyOfferExist,
                    bestTimeToReach = x.bestTimeToReach,
                    bestWayToReach = x.bestWayToReach,
                    city = x.city,
                    educationDetails = x.educationDetails,
                    expectedRatePerHour = x.expectedRatePerHour,
                    highestQualification = x.highestQualification,
                    relavantExp = x.relavantExp,
                    rtr = x.rtr,
                    skypeid = x.skypeid,
                    state = x.state,
                    totalExp = x.totalExp,
                    visaType = x.visaType,
                    totalExpName = t.name,
                    relavantExpName = r.name,
                    bestWayToReachName = b.name,
                    highestQualificationName = h.name,
                    visaTypeName = v.name,
                    cityName = ci.Name,
                    stateName = st.Name,
                    countryCode = co.Code,
                    currentCTC = x.currentCTC,
                    expectedCTC = x.expectedCTC
                }).AsQueryable();

                switch (request.sort)
                {
                case "jobid":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "jobName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.jobName) :
                             query.OrderBy(x => x.jobName));
                    break;

                case "createdBy":
                case "createdByName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "modifiedBy":
                case "modifiedName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "id":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "email":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.email) : query.OrderBy(x => x.email));
                    break;

                case "firstName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.firstName) : query.OrderBy(x => x.firstName));
                    break;

                case "middleName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.middleName) : query.OrderBy(x => x.middleName));
                    break;

                case "lastName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.lastName) : query.OrderBy(x => x.lastName));
                    break;

                case "phone":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.phone) : query.OrderBy(x => x.phone));
                    break;

                case "status":
                case "statusName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.status) : query.OrderBy(x => x.status));
                    break;

                case "fileName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.fileName) : query.OrderBy(x => x.fileName));
                    break;

                case "anyOfferExist":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.anyOfferExist) : query.OrderBy(x => x.anyOfferExist));
                    break;

                case "bestWayToReach":
                case "bestWayToReachName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.bestWayToReach) : query.OrderBy(x => x.bestWayToReach));
                    break;

                case "bestTimeToReach":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.bestTimeToReach) : query.OrderBy(x => x.bestTimeToReach));
                    break;

                case "city":
                case "cityName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.city) : query.OrderBy(x => x.city));
                    break;

                case "educationDetails":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.educationDetails) : query.OrderBy(x => x.educationDetails));
                    break;

                case "expectedRatePerHour":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.expectedRatePerHour) : query.OrderBy(x => x.expectedRatePerHour));
                    break;

                case "highestQualification":
                case "highestQualificationName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.highestQualification) : query.OrderBy(x => x.highestQualification));
                    break;

                case "relavantExp":
                case "relavantExpName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.relavantExp) : query.OrderBy(x => x.relavantExp));
                    break;

                case "rtr":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.rtr) : query.OrderBy(x => x.rtr));
                    break;

                case "skypeid":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.skypeid) : query.OrderBy(x => x.skypeid));
                    break;

                case "state":
                case "stateName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.state) : query.OrderBy(x => x.state));
                    break;

                case "totalExp":
                case "totalExpName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.totalExp) : query.OrderBy(x => x.totalExp));
                    break;

                case "visaType":
                case "visaTypeName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.visaType) : query.OrderBy(x => x.visaType));
                    break;

                case "countryCode":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.countryCode) : query.OrderBy(x => x.countryCode));
                    break;

                case "currentCTC":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.currentCTC) : query.OrderBy(x => x.currentCTC));
                    break;

                case "expectedCTC":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.expectedCTC) : query.OrderBy(x => x.expectedCTC));
                    break;

                default:
                    break;
                }

                response.Data = new PagedList <JobCandidatesView>(
                    query, request);

                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }



            return(response);
        }
示例#24
0
        public async Task <ServiceResponse <PagedList <RecruitCareView> > > GetRecruitCareByMe(CustomPagingRequest request)
        {
            var response = new ServiceResponse <PagedList <RecruitCareView> >();

            try
            {
                var user  = _context.Users.FirstOrDefault(x => x.id == LoggedInUser);
                var query = (from x in _context.RecruitCare
                             join y in _context.Openings on x.jobid equals y.id
                             join s in _context.MasterData on x.status equals s.id
                             join c in _context.Users on x.createdBy equals c.id
                             join m in _context.Users on x.modifiedBy equals m.id into modifiedUsers
                             from m in modifiedUsers.DefaultIfEmpty()
                             join n in _context.MasterData on x.noticePeriod equals n.id into notices
                             from n in notices.DefaultIfEmpty()
                             join t in _context.MasterData on x.totalExp equals t.id
                             join r in _context.MasterData on x.relavantExp equals r.id
                             join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                             from b in bestways.DefaultIfEmpty()
                             join v in _context.MasterData on x.visaType equals v.id into visaTypes
                             from v in visaTypes.DefaultIfEmpty()
                             join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                             from h in qualifications.DefaultIfEmpty()
                             join st in _context.State on x.state equals st.Id
                             join ci in _context.Citys on x.city equals ci.Id
                             join co in _context.Countries on y.country equals co.Id
                             where (user != null && user.roleId == (int)Roles.SuperAdmin) || (x.createdBy == LoggedInUser || x.modifiedBy == LoggedInUser) ||
                             (user != null && user.roleId == (int)Roles.TeamLead && y.country == user.country ? true : false)
                             select new RecruitCareView()
                {
                    jobid = y.id,
                    jobName = y.jobid,
                    comments = x.comments,
                    createdBy = x.createdBy,
                    createdByName = Common.GetFullName(c),
                    email = x.email,
                    id = x.id,
                    modifiedBy = x.modifiedBy,
                    modifiedName = Common.GetFullName(m),
                    modifiedDate = x.modifiedDate,
                    name = Common.GetFullName(x),
                    createdDate = x.createdDate.Value,
                    firstName = x.firstName,
                    lastName = x.lastName,
                    middleName = x.middleName,
                    phone = x.phone,
                    status = x.status,
                    statusName = s.name,
                    fileName = x.fileName,
                    noticePeriod = x.noticePeriod,
                    notice = n.name,
                    anyOfferExist = x.anyOfferExist,
                    bestTimeToReach = x.bestTimeToReach,
                    bestWayToReach = x.bestWayToReach,
                    city = x.city,
                    educationDetails = x.educationDetails,
                    expectedRatePerHour = x.expectedRatePerHour,
                    highestQualification = x.highestQualification,
                    relavantExp = x.relavantExp,
                    rtr = x.rtr,
                    skypeid = x.skypeid,
                    state = x.state,
                    totalExp = x.totalExp,
                    visaType = x.visaType,
                    totalExpName = t.name,
                    relavantExpName = r.name,
                    bestWayToReachName = b.name,
                    highestQualificationName = h.name,
                    visaTypeName = v.name,
                    cityName = ci.Name,
                    stateName = st.Name,
                    countryCode = co.Code,
                    currentCTC = x.currentCTC,
                    expectedCTC = x.expectedCTC
                }).AsQueryable();
                switch (request.sort)
                {
                case "jobName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.jobName) : query.OrderBy(x => x.jobName));
                    break;

                case "name":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.firstName) :
                             query.OrderBy(x => x.firstName));
                    break;

                case "phone":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.phone) : query.OrderBy(x => x.phone));
                    break;

                case "statusName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.statusName) : query.OrderBy(x => x.statusName));
                    break;

                case "createdByName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(c => c.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "modifiedName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "notice":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.notice) : query.OrderBy(x => x.notice));
                    break;

                case "fileName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.fileName) : query.OrderBy(x => x.fileName));
                    break;

                case "email":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.email) : query.OrderBy(x => x.email));
                    break;

                case "comments":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.comments) : query.OrderBy(x => x.comments));
                    break;

                case "stateName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.state) : query.OrderBy(x => x.state));
                    break;

                case "cityName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.city) : query.OrderBy(x => x.city));
                    break;

                case "totalExpName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.totalExp) : query.OrderBy(x => x.totalExp));
                    break;

                case "relavantExpName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.relavantExp) : query.OrderBy(x => x.relavantExp));
                    break;

                case "bestWayToReachName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.bestWayToReach) : query.OrderBy(x => x.bestWayToReach));
                    break;

                case "visaTypeName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.visaType) : query.OrderBy(x => x.visaType));
                    break;

                case "highestQualificationName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.highestQualification) : query.OrderBy(x => x.highestQualification));
                    break;

                case "currentCTC":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.currentCTC) : query.OrderBy(x => x.currentCTC));
                    break;

                case "expectedCTC":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.expectedCTC) : query.OrderBy(x => x.expectedCTC));
                    break;

                default:
                    query = query.OrderByDescending(x => x.createdDate);
                    break;
                }

                response.Data = new PagedList <RecruitCareView>(
                    query, request);



                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
示例#25
0
        /// <nodoc />
        public LoggingConfiguration(ILoggingConfiguration template, PathRemapper pathRemapper)
            : base(template)
        {
            Contract.Assume(template != null);
            Contract.Assume(pathRemapper != null);

            LogsDirectory           = pathRemapper.Remap(template.LogsDirectory);
            RedirectedLogsDirectory = pathRemapper.Remap(template.RedirectedLogsDirectory);
            LogPrefix            = template.LogPrefix;
            Log                  = pathRemapper.Remap(template.Log);
            ErrorLog             = pathRemapper.Remap(template.ErrorLog);
            WarningLog           = pathRemapper.Remap(template.WarningLog);
            LogExecution         = template.LogExecution;
            ExecutionLog         = pathRemapper.Remap(template.ExecutionLog);
            StoreFingerprints    = template.StoreFingerprints;
            FingerprintStoreMode = template.FingerprintStoreMode;
            FingerprintStoreMaxEntryAgeMinutes      = template.FingerprintStoreMaxEntryAgeMinutes;
            FingerprintsLogDirectory                = pathRemapper.Remap(template.FingerprintsLogDirectory);
            ExecutionFingerprintStoreLogDirectory   = pathRemapper.Remap(template.ExecutionFingerprintStoreLogDirectory);
            CacheLookupFingerprintStoreLogDirectory = pathRemapper.Remap(template.CacheLookupFingerprintStoreLogDirectory);
            HistoricMetadataCacheLogDirectory       = pathRemapper.Remap(template.HistoricMetadataCacheLogDirectory);
            EngineCacheLogDirectory             = pathRemapper.Remap(template.EngineCacheLogDirectory);
            EngineCacheCorruptFilesLogDirectory = pathRemapper.Remap(template.EngineCacheCorruptFilesLogDirectory);
            CustomLog = new Dictionary <AbsolutePath, (IReadOnlyList <int>, EventLevel?)>();
            foreach (var kv in template.CustomLog)
            {
                CustomLog.Add(pathRemapper.Remap(kv.Key), kv.Value);
            }

            CustomLogEtwKinds = new Dictionary <AbsolutePath, string>();
            foreach (var kv in template.CustomLogEtwKinds)
            {
                CustomLogEtwKinds.Add(pathRemapper.Remap(kv.Key), kv.Value);
            }

            NoLog              = new List <int>(template.NoLog);
            NoExecutionLog     = new List <int>(template.NoExecutionLog);
            Diagnostic         = template.Diagnostic;
            ConsoleVerbosity   = template.ConsoleVerbosity;
            FileVerbosity      = template.FileVerbosity;
            LogCounters        = template.LogCounters;
            LogStats           = template.LogStats;
            EnableAsyncLogging = template.EnableAsyncLogging;
            StatsLog           = pathRemapper.Remap(template.StatsLog);
            EventSummaryLog    = pathRemapper.Remap(template.EventSummaryLog);
            Environment        = template.Environment;
            RemoteTelemetry    = template.RemoteTelemetry;
            TraceInfo          = new Dictionary <string, string>();
            foreach (var kv in template.TraceInfo)
            {
                TraceInfo.Add(kv.Key, kv.Value);
            }

            Color                            = template.Color;
            AnimateTaskbar                   = template.AnimateTaskbar;
            RelatedActivityId                = template.RelatedActivityId;
            LogsToRetain                     = template.LogsToRetain;
            FancyConsole                     = template.FancyConsole;
            FancyConsoleMaxStatusPips        = template.FancyConsoleMaxStatusPips;
            SubstSource                      = pathRemapper.Remap(template.SubstSource);
            SubstTarget                      = pathRemapper.Remap(template.SubstTarget);
            DisableLoggedPathTranslation     = template.DisableLoggedPathTranslation;
            LogStatus                        = template.LogStatus;
            StatusFrequencyMs                = template.StatusFrequencyMs;
            StatusLog                        = pathRemapper.Remap(template.StatusLog);
            CacheMissLog                     = pathRemapper.Remap(template.CacheMissLog);
            DevLog                           = pathRemapper.Remap(template.DevLog);
            RpcLog                           = pathRemapper.Remap(template.RpcLog);
            PipOutputLog                     = pathRemapper.Remap(template.PipOutputLog);
            FailPipOnFileAccessError         = template.FailPipOnFileAccessError;
            LogMemory                        = template.LogMemory;
            ReplayWarnings                   = template.ReplayWarnings;
            UseCustomPipDescriptionOnConsole = template.UseCustomPipDescriptionOnConsole;
            CacheMissAnalysisOption          = new CacheMissAnalysisOption(
                template.CacheMissAnalysisOption.Mode,
                new List <string>(template.CacheMissAnalysisOption.Keys),
                pathRemapper.Remap(template.CacheMissAnalysisOption.CustomPath));
            CacheMissDiffFormat = template.CacheMissDiffFormat;
            OptimizeConsoleOutputForAzureDevOps    = template.OptimizeConsoleOutputForAzureDevOps;
            InvocationExpandedCommandLineArguments = template.InvocationExpandedCommandLineArguments;
            OptimizeProgressUpdatingForAzureDevOps = template.OptimizeProgressUpdatingForAzureDevOps;
            OptimizeVsoAnnotationsForAzureDevOps   = template.OptimizeVsoAnnotationsForAzureDevOps;
        }
示例#26
0
        public async Task <ServiceResponse <IEnumerable <RecruitCareView> > > GetRecruitCare()
        {
            var response = new ServiceResponse <IEnumerable <RecruitCareView> >();

            try
            {
                response.Data = await(from x in _context.RecruitCare
                                      join y in _context.Openings on x.jobid equals y.id
                                      join s in _context.MasterData on x.status equals s.id
                                      join c in _context.Users on x.createdBy equals c.id
                                      join m in _context.Users on x.modifiedBy equals m.id into modifiedUsers
                                      from m in modifiedUsers.DefaultIfEmpty()
                                      join n in _context.MasterData on x.noticePeriod equals n.id into notices
                                      from n in notices.DefaultIfEmpty()
                                      join t in _context.MasterData on x.totalExp equals t.id
                                      join r in _context.MasterData on x.relavantExp equals r.id
                                      join b in _context.MasterData on x.bestWayToReach equals b.id into bestways
                                      from b in bestways.DefaultIfEmpty()
                                      join v in _context.MasterData on x.visaType equals v.id into visaTypes
                                      from v in visaTypes.DefaultIfEmpty()
                                      join h in _context.MasterData on x.highestQualification equals h.id into qualifications
                                      from h in qualifications.DefaultIfEmpty()
                                      join st in _context.State on x.state equals st.Id
                                      join ci in _context.Citys on x.city equals ci.Id
                                      select new RecruitCareView()
                {
                    jobid                    = y.id,
                    jobName                  = y.jobid,
                    comments                 = x.comments,
                    createdBy                = x.createdBy,
                    createdByName            = Common.GetFullName(c),
                    email                    = x.email,
                    id                       = x.id,
                    modifiedBy               = x.modifiedBy,
                    modifiedName             = Common.GetFullName(m),
                    modifiedDate             = x.modifiedDate,
                    name                     = Common.GetFullName(x),
                    createdDate              = x.createdDate.Value,
                    firstName                = x.firstName,
                    lastName                 = x.lastName,
                    middleName               = x.middleName,
                    phone                    = x.phone,
                    status                   = x.status,
                    statusName               = s.name,
                    fileName                 = x.fileName,
                    noticePeriod             = x.noticePeriod,
                    notice                   = n.name,
                    anyOfferExist            = x.anyOfferExist,
                    bestTimeToReach          = x.bestTimeToReach,
                    bestWayToReach           = x.bestWayToReach,
                    city                     = x.city,
                    educationDetails         = x.educationDetails,
                    expectedRatePerHour      = x.expectedRatePerHour,
                    highestQualification     = x.highestQualification,
                    relavantExp              = x.relavantExp,
                    rtr                      = x.rtr,
                    skypeid                  = x.skypeid,
                    state                    = x.state,
                    totalExp                 = x.totalExp,
                    visaType                 = x.visaType,
                    totalExpName             = t.name,
                    relavantExpName          = r.name,
                    bestWayToReachName       = b.name,
                    highestQualificationName = h.name,
                    visaTypeName             = v.name,
                    cityName                 = ci.Name,
                    stateName                = st.Name,
                    currentCTC               = x.currentCTC,
                    expectedCTC              = x.expectedCTC
                }).AsQueryable().ToListAsync();

                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = await CustomLog.Log(ex, _context);
            }
            return(response);
        }
示例#27
0
        public async Task <ActionResult> GetUsers(CustomPagingRequest request)
        {
            var response = new ServiceResponse <PagedList <UserView> >();

            try
            {
                var query = (from x in _context.Users
                             join y in _context.MasterData on x.roleId equals y.id
                             join c in _context.Countries on x.country equals c.Id into countries
                             from c in countries.DefaultIfEmpty()
                             select new UserView()
                {
                    id = x.id,
                    email = x.email,
                    firstName = x.firstName,
                    lastName = x.lastName,
                    middleName = x.middleName,
                    role = y.name,
                    userid = x.userid,
                    roleId = x.roleId,
                    countryName = c.Name,
                    countryId = c.Id,
                    active = x.active,
                    modifiedDate = x.modifiedDate,
                    createdDate = x.createdDate,
                    createdBy = x.createdBy,
                    modifiedBy = x.modifiedBy
                }).AsQueryable();
                switch (request.sort)
                {
                case "id":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id));
                    break;

                case "email":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.email) :
                             query.OrderBy(x => x.email));
                    break;

                case "firstName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.firstName) : query.OrderBy(x => x.firstName));
                    break;

                case "lastName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.lastName) : query.OrderBy(x => x.lastName));
                    break;

                case "middleName":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.middleName) : query.OrderBy(x => x.middleName));
                    break;

                case "role":
                case "roleId":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.roleId) : query.OrderBy(x => x.roleId));
                    break;

                case "userid":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.userid) : query.OrderBy(x => x.userid));
                    break;

                case "countryName":
                case "countryId":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.countryId) : query.OrderBy(x => x.countryId));
                    break;

                case "active":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.active) : query.OrderBy(x => x.active));
                    break;

                case "modifiedDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedDate) : query.OrderBy(x => x.modifiedDate));
                    break;

                case "createdDate":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdDate) : query.OrderBy(x => x.createdDate));
                    break;

                case "createdBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.createdBy) : query.OrderBy(x => x.createdBy));
                    break;

                case "modifiedBy":
                    query = (request.sortOrder == "Descending" ? query.OrderByDescending(x => x.modifiedBy) : query.OrderBy(x => x.modifiedBy));
                    break;

                default:
                    break;
                }

                response.Data = new PagedList <UserView>(
                    query, request);
                response.Success = true;
                response.Message = "Success";
            }
            catch (Exception ex)
            {
                response.Message = await CustomLog.Log(ex, _context);

                response.Success = false;
            }

            return(Ok(response));
        }
示例#28
0
    //

    private void LoadSprite()
    {
        countLoadSprite = 0;

        loadingSpriteNameList.Clear();

        string fullPath = Application.dataPath + "/" +
                          RESOURCES_PATH + "/" +
                          SPRITE_PATH + "/";

        // Sprite Directory 이하의 Directory 들을 가져옴
        string[]      targetDirectoryWithPath     = System.IO.Directory.GetDirectories(fullPath);
        List <string> targetDirectoryWithPathList = new List <string>(targetDirectoryWithPath);

        targetDirectoryWithPathList.Add(fullPath);

        for (int i = 0; i < targetDirectoryWithPathList.Count; ++i)
        {
            // directory 들 이하의 png file 들을 가져옴
            string[] spriteNameWithPath = System.IO.Directory.GetFiles(targetDirectoryWithPathList[i], "*.png");

            CustomLog.CompleteLog("Sprite Root: " + targetDirectoryWithPathList[i]);

            for (int j = 0; j < spriteNameWithPath.Length; ++j)
            {
                if (spriteNameWithPath[j].Substring(0, 1) == EXCLUDE_KEYWORD)
                {
                    continue;
                }

                // 4 파트로 나뉜 이름
                string[] strType   = { "", "", "", "" };
                string[] splitName = GetSplitName(spriteNameWithPath[j]);

                // 소문자로 설정
                ToLowerNames(ref splitName);

                for (int k = 0; k < Mathf.Min(4, splitName.Length); ++k)
                {
                    strType[k] = splitName[k];
                }

                SpriteAttribute sa = new SpriteAttribute();

                // resource.load 를 위한 이름
                string resourceLoadName = GetLoadingName(spriteNameWithPath[j]);
                sa.sprite = Resources.Load <Sprite>(resourceLoadName);

                if (GetSpriteAttribute(strType) == "")
                {
                    sa.isAnimation = false;
                }
                else
                {
                    sa.isAnimation = true;

                    sa.frameCount = GetSpriteFrameCount(strType);
                    sa.speed      = GetSpriteSpeed(strType);
                    sa.length     = (1f / (float)spriteDefaultFramePerSec) / sa.speed * (float)(sa.frameCount - 1);
                }

                CutSpriteAttribute(ref strType);

                //

                if (sa.sprite == null)
                {
                    CustomLog.CompleteLogWarning(
                        "Invalid Sprite: " + resourceLoadName,
                        PRINT_DEBUG);

                    continue;
                }

                loadingSpriteNameList.Add(strType[0] + " " + strType[1] + " " + strType[2]);

                string category = strType[0];
                string name     = strType[1];
                string status   = strType[2];

                if (typeSpriteDic.ContainsKey(category) == false)
                {
                    typeSpriteDic.Add(category, new Dictionary <string, Dictionary <string, SpriteAttribute> >());
                }
                if (typeSpriteDic[category].ContainsKey(name) == false)
                {
                    typeSpriteDic[category].Add(name, new Dictionary <string, SpriteAttribute>());
                }
                if (typeSpriteDic[category][name].ContainsKey(status) == false)
                {
                    typeSpriteDic[category][name].Add(status, sa);
                }
                ++countLoadSprite;
            }
        }

        for (int i = 0; i < targetDirectoryWithPathList.Count; ++i)
        {
            string[] controllerNameWithPath = System.IO.Directory.GetFiles(targetDirectoryWithPathList[i], "*.controller");

            // load 된 sprite 가 animation 이면 attribute 에 controller 추가
            for (int k = 0; k < controllerNameWithPath.Length; ++k)
            {
                string[] strTypeController   = { "", "", "" };
                string[] splitControllerName = GetSplitName(controllerNameWithPath[k]);

                // 소문자로 설정
                ToLowerNames(ref splitControllerName);

                for (int l = 0; l < Mathf.Min(3, splitControllerName.Length); ++l)
                {
                    strTypeController[l] = splitControllerName[l];
                }

                CutSpriteAttribute(ref strTypeController);

                SpriteAttribute sa = GetSpriteAttribute(strTypeController[0], strTypeController[1], strTypeController[2]);

                if (sa != null)
                {
                    if (sa.isAnimation == true)
                    {
                        string controllerLoadName = GetLoadingName(controllerNameWithPath[k]);

                        sa.controller = Instantiate(Resources.Load <RuntimeAnimatorController>(controllerLoadName));
                    }
                }
            }
        }

        CustomLog.CompleteLog("Load Sprite Count: " + countLoadSprite);
    }
示例#29
0
        public ActionResult PaySuccess(string Content, bool isServerCall = false)
        {
            string temp = Content;

            try
            {
                Content = DESHelper.DecryptDES(Content);
                CustomLog.WriteLog(Content);
                temp = Content;
                System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
                PaymentModel payModel = jss.Deserialize <Models.PaymentModel>(Content);

                //判断订单是否存在
                if (Helpers.UmbPayRecordsHelper.IsExistsBillno(payModel.Billno))
                {
                    IContent content       = null;
                    IMember  currentMember = null;
                    if (payModel.Email.Contains("^_^"))
                    {
                        string[] array = payModel.Email.Split(new string[] { "^_^" }, StringSplitOptions.RemoveEmptyEntries);

                        currentMember = Services.MemberService.GetByEmail(array[0]);
                        content       = Services.ContentService.GetById(int.Parse(array[1]));
                        if (currentMember != null)
                        {
                            content.SetValue("username", currentMember.Name);
                            content.Name = currentMember.Email;
                            content.SetValue("email", currentMember.Email);
                            content.SetValue("mobilePhone", currentMember.GetValue <string>("tel"));
                            content.SetValue("memberPicker", currentMember.Id.ToString());
                            //保存member的信息
                            double assets      = currentMember.GetValue <double>("assets");
                            double fundAccount = currentMember.GetValue <double>("fundAccount");
                            currentMember.SetValue("assets", "0");
                            currentMember.SetValue("fundAccount", (fundAccount + payModel.Amount).ToString("f2"));
                            Services.MemberService.Save(currentMember);
                        }
                        //cny
                        content.SetValue("amountCny", payModel.Amount.ToString());
                        content.SetValue("rechargeDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        content.SetValue("payBillno", payModel.Billno);
                        content.SetValue("amountCny", payModel.Amount.ToString());
                        content.SetValue("rechargeDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        content.SetValue("isdeposit", true);
                        IContent product = Services.ContentService.GetById(content.GetValue <int>("buyproduct"));
                        int      months  = product.GetValue <int>("cycle");
                        content.SetValue("expirationtime", DateTime.Now.AddMonths(months).ToString("yyyy-MM-dd HH:mm:ss"));
                        Services.ContentService.Save(content);
                        //触发创建事件
                        EventHandlers.CustomRaiseEvent.RaiseContentCreated(content);

                        //赠送5000元定期宝一月期
                        System.Threading.Tasks.Task.Factory.StartNew((ser) =>
                        {
                            try
                            {
                                ServiceContext sc = ser as ServiceContext;
                                int num           = payModel.Amount >= 5000 ? 5000 : 1000;
                                IContentType ct   = sc.ContentTypeService.GetContentType("PayRecords");

                                IContent createContent = sc.ContentService.CreateContent(currentMember.Name + "赠送定期宝", ct.Id, "PayRecords");
                                createContent.SetValue("username", currentMember.Name);
                                createContent.SetValue("email", currentMember.Username);
                                createContent.SetValue("amountCny", num);
                                createContent.SetValue("mobilePhone", currentMember.GetValue <string>("tel"));
                                createContent.SetValue("rechargeDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                                createContent.SetValue("expirationtime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"));
                                createContent.SetValue("memberPicker", currentMember.Id);
                                createContent.SetValue("payBillno", payModel.Billno + ":购买产品赠送的定期宝");
                                createContent.SetValue("isdeposit", true);
                                createContent.SetValue("isexpired", false);
                                createContent.SetValue("buyproduct", 2337);
                                createContent.SetValue("isGive", true);
                                sc.ContentService.Save(createContent);
                                EventHandlers.CustomRaiseEvent.RaiseContentCreated(createContent);
                                CustomLog.WriteLog("赠送成功!");
                            }
                            catch (Exception ex)
                            {
                                CustomLog.WriteLog(ex.ToString());
                            }
                        }, Services);
                        CustomLog.WriteLog("success!!");
                        return(Json("ok", JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        try
                        {
                            //充值到余额
                            IContentType ct             = Services.ContentTypeService.GetContentType("DepositRecords");
                            IContent     depositcontent = Services.ContentService.CreateContent(payModel.Email, ct.Id, "DepositRecords");
                            currentMember = Services.MemberService.GetByEmail(payModel.Email);
                            depositcontent.SetValue("username", payModel.Email);
                            depositcontent.Name = payModel.Email;
                            depositcontent.SetValue("email", payModel.Email);
                            depositcontent.SetValue("mobilePhone", payModel.Phone);
                            depositcontent.SetValue("amountCny", payModel.Amount.ToString());
                            depositcontent.SetValue("payBillno", payModel.Billno);
                            depositcontent.SetValue("memberPicker", currentMember.Id.ToString());
                            decimal assets = currentMember.GetValue <decimal>("okassets");
                            currentMember.SetValue("okassets", (assets + (decimal)payModel.Amount).ToString());
                            Services.ContentService.Save(depositcontent);
                            Services.MemberService.Save(currentMember);
                            return(Json("ok", JsonRequestBehavior.AllowGet));
                        }
                        catch (Exception ex)
                        {
                            CustomLog.WriteLog("1:" + ex.StackTrace);
                            CustomLog.WriteLog("2:" + ex.ToString());
                            return(Json("ok", JsonRequestBehavior.AllowGet));
                        }
                    }
                }
                else
                {
                    CustomLog.WriteLog("重复提交" + payModel.Billno);
                    return(new ContentResult()
                    {
                        Content = "重复提交"
                    });
                }
            }
            catch (Exception ex)
            {
                CustomLog.WriteLog(ex.ToString());
                return(new ContentResult()
                {
                    Content = "fail" + temp + ex
                });
            }
        }
示例#30
0
 void Start()
 {
     CustomLog.Log("Info");
     CustomLog.LogDebug("Debug");
 }