public static MsCrmResultObject GetArticleCategoryInfo(Guid categoryId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT DISTINCT E.new_articlecategoryId AS Id ,E.new_name Name ,E.new_portalId PortalId ,E.new_portalIdName PortalIdName ,E.new_imageurl AS ImageUrl FROM new_articlecategory AS E (NOLOCK) WHERE E.new_articlecategoryId = '{0}' AND E.statuscode=1 --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, categoryId)); if (dt != null && dt.Rows.Count > 0) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["Id"], Name = dt.Rows[0]["Name"].ToString(), LogicalName = dt.Rows[0]["ImageUrl"] != DBNull.Value ? dt.Rows[0]["ImageUrl"].ToString() : "no_image_available.png" }; returnValue.Success = true; returnValue.ReturnObject = er; } else { returnValue.Success = false; returnValue.Result = "M024"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetPointCodeInfo(Guid pointCodeId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"SELECT pc.new_pointcodeId AS Id ,pc.new_name AS Name ,pc.new_portalid AS PortalId ,pc.new_portalidName AS PortalIdName ,'new_portal' AS PortalIdTypeName ,pc.new_group AS GroupCode ,pc.new_code AS Code ,pc.new_point AS Point ,pc.statuscode AS Status FROM new_pointcode AS pc (NOLOCK) WHERE pc.new_pointcodeId='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, pointCodeId)); if (dt.Rows.Count > 0) { List<PointCode> pCode = dt.ToList<PointCode>(); returnValue.Success = true; returnValue.ReturnObject = pCode[0]; } else { returnValue.Result = "Kayıt bulunamadı."; } } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetSurveyInfo(Guid surveyId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"SELECT E.new_surveyId Id ,E.new_name Name ,E.new_startdate AS StartDate ,E.new_enddate AS EndDate ,E.new_portalId AS PortalId ,E.new_portalIdName AS PortalIdName ,CAST({2}.dbo.fn_UTCToTzSpecificLocalTime(E.CreatedOn, us.TimeZoneBias, us.TimeZoneDaylightBias,us.TimeZoneDaylightYear, us.TimeZoneDaylightMonth, us.TimeZoneDaylightDay, us.TimeZoneDaylightHour,us.TimeZoneDaylightMinute, us.TimeZoneDaylightSecond, 0, us.TimeZoneDaylightDayOfWeek,us.TimeZoneStandardBias, us.TimeZoneStandardYear, us.TimeZoneStandardMonth, us.TimeZoneStandardDay,us.TimeZoneStandardHour, us.TimeZoneStandardMinute, us.TimeZoneStandardSecond, 0,us.TimeZoneStandardDayOfWeek) as DATETIME) CreatedOn FROM new_survey AS E (NOLOCK) JOIN dbo.UserSettingsBase US (NOLOCK) ON US.SystemUserId ='{1}' WHERE E.new_surveyId='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, surveyId, Globals.AdminId, Globals.DatabaseName)); if (dt.Rows.Count > 0) { Survey sur = new Survey(); sur.Id = (Guid)dt.Rows[0]["Id"]; sur.Name = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; if (dt.Rows[0]["PortalId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["PortalId"], Name = dt.Rows[0]["PortalIdName"].ToString() }; sur.Portal = er; } if (dt.Rows[0]["StartDate"] != DBNull.Value) { sur.StartDate = (DateTime)dt.Rows[0]["StartDate"]; } if (dt.Rows[0]["EndDate"] != DBNull.Value) { sur.EndDate = (DateTime)dt.Rows[0]["EndDate"]; } MsCrmResultObject choiceRes = SurveyHelper.GetSurveyChoices(sur.Id, sda); if (choiceRes.Success) { sur.SurveyChoices = (List<SurveyChoices>)choiceRes.ReturnObject; } returnValue.ReturnObject = sur; returnValue.Success = true; returnValue.Result = "Anket bilgisi çekildi."; } else { returnValue.Result = "Anket bilgisi bulunamadı."; } } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | SERVICE | IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); #region | Validate Request | //Target yoksa veya Entity tipinde değilse, devam etme. if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } #endregion IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(Globals.AdministratorId); #region |DEFINE IMAGE IF EXISTS| Entity preImage = null; if (context.PreEntityImages.Contains("PreImage") && context.PreEntityImages["PreImage"] is Entity) { preImage = (Entity)context.PreEntityImages["PreImage"]; } #endregion #endregion Entity entity = (Entity)context.InputParameters["Target"]; try { if (entity.Attributes.Contains("new_issendingapproval")) { if (entity.GetAttributeValue <bool>("new_issendingapproval")) { EntityReference currency = preImage.Attributes.Contains("transactioncurrencyid") && preImage["transactioncurrencyid"] != null ? (EntityReference)preImage["transactioncurrencyid"] : null; EntityReference projectId = preImage.Attributes.Contains("new_projectid") && preImage["new_projectid"] != null ? (EntityReference)preImage["new_projectid"] : null; MsCrmResultObject productResult = SecondHandHelper.GetSecondHandProducts(entity.Id, sda); if (productResult.Success) { //Ürün alındı Product product = ((List <Product>)productResult.ReturnObject)[0]; //Rule alındı SecondHandControlSetting control = ProductHelper.GetSecondHandControlSettingByProject(product.Project.Id, sda); //Kiralama tutarı alındı decimal secondHandAmount = preImage.GetAttributeValue <Money>("new_salesfee").Value; if (control.SecondHandControlSettingId != Guid.Empty) { if (control.ConsultantRate != null) { if (control.ConsultantRate != decimal.MaxValue) { decimal rate = (product.PaymentOfHire.Value * (control.ConsultantRate.Value / 100)); decimal minRate = product.PaymentOfHire.Value - rate; decimal maxRate = product.PaymentOfHire.Value + rate; if (secondHandAmount >= minRate && secondHandAmount <= maxRate) { //Opsiyona takılmaz. Entity ent = new Entity("product"); ent.Id = product.ProductId; ent["new_usedrentalandsalesstatus"] = new OptionSetValue(7); //Satıldı. service.Update(ent); entity["statuscode"] = new OptionSetValue((int)SecondHandStatuses.Onaylandi); //Kiralama Durumu } else { //Ürün kiralama opsiyonlu //Onaya gönder Entity ent = new Entity("product"); ent.Id = product.ProductId; ent["new_usedrentalandsalesstatus"] = new OptionSetValue(6); //konut durumu 2.el satış opsiyonlu service.Update(ent); entity["statuscode"] = new OptionSetValue((int)SecondHandStatuses.OnayBekleniyor); //Kiralama Durumu MsCrmResult mailResult = SecondHandHelper.SendMailSecondHandToApproval(product, preImage, UserTypes.IkinciElSatisDirektoru, sda, service); if (!mailResult.Success) { throw new Exception(mailResult.Result); } } } } } } } } } catch (Exception ex) { throw new InvalidPluginExecutionException(ex.Message + ex.StackTrace); } finally { if (sda != null) { sda.closeConnection(); } } }
public static MsCrmResultObject HasUserRequestWithYou(Guid portalId, Guid portalUserId, Guid selectedUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT fr.new_friendshiprequestId AS Id FROM new_friendshiprequest AS fr (NOLOCK) WHERE fr.new_portalId='{0}' AND fr.statecode=0 AND ( (fr.new_fromuserId='{1}' AND fr.new_touserId='{2}') OR (fr.new_fromuserId='{2}' AND fr.new_touserId='{1}') )"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId, selectedUserId)); if (dt != null && dt.Rows.Count > 0) { returnValue = FriendshipHelper.GetFriendshipRequestInfo((Guid)dt.Rows[0]["Id"], sda); } else { returnValue.Success = false; returnValue.Result = "M040"; //"Aranızda herhangi bir arkadaşlık isteği yoktur!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetUserCubeStatus(Guid portalUserId, Guid portalId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT * FROM ( SELECT * ,DENSE_RANK() OVER (ORDER BY B.TotalPoint DESC) AS Ranking FROM ( SELECT A.UserId ,ISNULL(SUM(A.Point),0) AS TotalPoint FROM ( SELECT DISTINCT u.new_userId AS UserId ,a.new_point AS Point ,a.new_questionanswersId AS AnswerId FROM new_user AS u (NOLOCK) LEFT JOIN new_questionanswers AS a (NOLOCK) ON u.new_userId=a.new_userId AND a.statecode=0 JOIN new_new_user_new_role AS urd (NOLOCK) ON u.new_userId=urd.new_userid JOIN new_role AS rd (NOLOCK) ON urd.new_roleid=rd.new_roleId AND rd.statecode=0 AND rd.statuscode=1 --Active AND rd.new_portalId='{1}' WHERE u.statecode=0 AND u.statuscode=1 --Active ) AS A GROUP BY A.UserId ) AS B ) AS C WHERE C.UserId='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalUserId, portalId)); if (dt != null && dt.Rows.Count > 0) { UserCubeStatus _cubeStatus = new UserCubeStatus(); if (dt.Rows[0]["UserId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["UserId"] }; _cubeStatus.UserId = er; } _cubeStatus.Point = dt.Rows[0]["TotalPoint"] != DBNull.Value ? Convert.ToInt32(dt.Rows[0]["TotalPoint"]) : 0; _cubeStatus.Rank = dt.Rows[0]["Ranking"] != DBNull.Value ? Convert.ToInt32(dt.Rows[0]["Ranking"]) : 0; returnValue.Success = true; returnValue.ReturnObject = _cubeStatus; } else { returnValue.Success = false; returnValue.Result = "M032"; //"Kullanıcı soru cevaplarına ait bilgiler bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; try { sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | SERVICE | IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); #region | Validate Request | //Target yoksa veya Entity tipinde değilse, devam etme. if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } #endregion IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); #endregion Entity entity = (Entity)context.InputParameters["Target"]; #region | VARIABLES | bool hasMedia = false; List<ScoreLimit> lstLimits = new List<ScoreLimit>(); EntityReference portal = null; EntityReference user = null; if (entity.Contains("new_hasmedia") && entity["new_hasmedia"] != null) { hasMedia = (bool)entity["new_hasmedia"]; } if (entity.Contains("new_portalid") && entity["new_portalid"] != null) { portal = (EntityReference)entity["new_portalid"]; } if (entity.Contains("new_userid") && entity["new_userid"] != null) { user = (EntityReference)entity["new_userid"]; } #endregion MsCrmResultObject limitRes = new MsCrmResultObject(); if (hasMedia) limitRes = ScoreHelper.GetScoreLimitsByType(ScoreType.GraffitiMedia, sda); else limitRes = ScoreHelper.GetScoreLimitsByType(ScoreType.GraffitiText, sda); if (limitRes.Success) { lstLimits = (List<ScoreLimit>)limitRes.ReturnObject; for (int i = 0; i < lstLimits.Count; i++) { int recCount = 0; DateTime start = GeneralHelper.GetStartDateByScorePeriod(lstLimits[i].Period); DateTime end = GeneralHelper.GetEndDateByScorePeriod(lstLimits[i].Period); recCount = GraffitiHelper.GetUserGraffitiCount(portal.Id, user.Id, start, end, hasMedia, sda); if (lstLimits[i].Frequency >= recCount) { Score sc = new Score() { Point = lstLimits[i].Point, Portal = portal, User = user, ScoreType = (hasMedia ? ScoreType.GraffitiMedia : ScoreType.GraffitiText) }; MsCrmResult scoreRes = ScoreHelper.CreateScore(sc, service); break; } } } } catch (Exception ex) { //LOG throw new InvalidPluginExecutionException(ex.Message); } finally { if (sda != null) sda.closeConnection(); } }
public static MsCrmResultObject GetForumSubjects(Guid forumId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT fs.new_forumsubjectId AS Id ,fs.new_name AS Name ,fs.new_userId AS UserId ,fs.new_userIdName AS UserIdName ,fs.new_content AS Content ,fs.CreatedOn FROM new_forumsubject AS fs (NOLOCK) WHERE fs.new_forumId='{0}' AND fs.statecode=0 AND fs.statuscode=1 --Active ORDER BY fs.CreatedOn DESC" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, forumId)); if (dt != null && dt.Rows.Count > 0) { List <ForumSubject> lstSub = new List <ForumSubject>(); for (int i = 0; i < dt.Rows.Count; i++) { ForumSubject fs = new ForumSubject(); fs.Id = (Guid)dt.Rows[i]["Id"]; fs.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; fs.Content = dt.Rows[i]["Content"] != DBNull.Value ? dt.Rows[i]["Content"].ToString() : string.Empty; fs.CreatedOn = (DateTime)dt.Rows[i]["CreatedOn"]; fs.CreatedOnString = ((DateTime)dt.Rows[i]["CreatedOn"]).ToString("dd.MM.yyyy HH:mm"); if (dt.Rows[i]["UserId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[i]["UserId"]; er.Name = dt.Rows[i]["UserIdName"] != DBNull.Value ? dt.Rows[i]["UserIdName"].ToString() : string.Empty; er.LogicalName = "new_user"; fs.User = er; } MsCrmResultObject resComment = CommentHelper.GetEntityComments(fs.Id, "new_forumsubject", 0, 10, sda); if (resComment.Success) { fs.CommentList = (List <Comment>)resComment.ReturnObject; } lstSub.Add(fs); } returnValue.Success = true; returnValue.ReturnObject = lstSub; } else { returnValue.Success = false; returnValue.Result = "M048"; //"Foruma ait konu başlığı bulunmamaktadır!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetQuestionChoices(Guid questionId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT c.new_questionchoiceId AS Id ,c.new_name AS Name ,c.new_iscorrect AS IsCorrect ,c.new_questionId AS QuestionId ,c.new_questionIdName AS QUestionIdName FROM new_questionchoice AS c (NOLOCK) WHERE c.new_questionId='{0}' AND c.statecode=0 ORDER BY NEWID()"; #endregion DataTable dt = sda.getDataTable(string.Format(query, questionId)); if (dt != null && dt.Rows.Count > 0) { List<QuestionChoices> returnList = new List<QuestionChoices>(); for (int i = 0; i < dt.Rows.Count; i++) { QuestionChoices _questionChoices = new QuestionChoices(); _questionChoices.Id = (Guid)dt.Rows[i]["Id"]; _questionChoices.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; if (dt.Rows[i]["QuestionId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[i]["QuestionId"], Name = dt.Rows[i]["QuestionIdName"].ToString() }; _questionChoices.Question = er; } _questionChoices.IsCorrect = dt.Rows[i]["IsCorrect"] != DBNull.Value ? (bool)dt.Rows[i]["IsCorrect"] : false; returnList.Add(_questionChoices); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "M030"; //"Soruya ait şıklar bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetAccountDetail(Guid accountId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT AC.AccountId ,AC.Name ,AC.new_taxnumber TaxNumber ,AC.new_addresscountryid CountryId ,AC.new_addresscountryidName CountryIdName ,AC.new_addresscityid CityId ,AC.new_addresscityidName CityIdName ,AC.new_addresstownid TownId ,AC.new_addresstownidName TownIdName ,AC.new_addressdistrictid DistrictId ,AC.new_addressdistrictidName DistrictIdName ,AC.new_addressdetail AddressDetail ,AC.new_taxofficeid TaxOfficeId ,AC.new_taxofficeidName TaxOfficeIdName ,AC.OwnerId ,AC.OwnerIdName ,AC.EmailAddress1 ,AC.Telephone1 ,AC.PrimaryContactId ,AC.PrimaryContactIdName ,AC.Description ,AC.new_customerrelationspecialistid AS CrOwnerId ,AC.new_customerrelationspecialistidName AS CrOwnerIdName FROM Account AC WITH (NOLOCK) WHERE AC.AccountId = '{0}'" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, accountId)); if (dt != null && dt.Rows.Count > 0) { Account _account = new Account(); _account.AccountId = (Guid)dt.Rows[0]["AccountId"]; _account.AccountName = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; _account.EmailAddress1 = dt.Rows[0]["EmailAddress1"] != DBNull.Value ? dt.Rows[0]["EmailAddress1"].ToString() : string.Empty; _account.Telephone1 = dt.Rows[0]["Telephone1"] != DBNull.Value ? dt.Rows[0]["Telephone1"].ToString() : string.Empty; _account.TaxNumber = dt.Rows[0]["TaxNumber"] != DBNull.Value ? dt.Rows[0]["TaxNumber"].ToString() : string.Empty; _account.AddressDetail = dt.Rows[0]["AddressDetail"] != DBNull.Value ? dt.Rows[0]["AddressDetail"].ToString() : string.Empty; _account.Description = dt.Rows[0]["Description"] != DBNull.Value ? dt.Rows[0]["Description"].ToString() : string.Empty; #region | FILL ENTITY REFERENCES | if (dt.Rows[0]["PrimaryContactId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["PrimaryContactId"]; if (dt.Rows[0]["PrimaryContactIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["PrimaryContactIdName"].ToString(); } er.LogicalName = "contact"; _account.Contact = er; } if (dt.Rows[0]["CountryId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["CountryId"]; if (dt.Rows[0]["CountryIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["CountryIdName"].ToString(); } er.LogicalName = "new_country"; _account.Country = er; } if (dt.Rows[0]["CityId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["CityId"]; if (dt.Rows[0]["CityIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["CityIdName"].ToString(); } er.LogicalName = "new_city"; _account.City = er; } if (dt.Rows[0]["TownId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["TownId"]; if (dt.Rows[0]["TownIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["TownIdName"].ToString(); } er.LogicalName = "new_town"; _account.Town = er; } if (dt.Rows[0]["DistrictId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["DistrictId"]; if (dt.Rows[0]["DistrictIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["DistrictIdName"].ToString(); } er.LogicalName = "new_district"; _account.District = er; } if (dt.Rows[0]["OwnerId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["OwnerId"]; if (dt.Rows[0]["OwnerIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["OwnerIdName"].ToString(); } er.LogicalName = "systemuser"; _account.Owner = er; } if (dt.Rows[0]["TaxOfficeId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["TaxOfficeId"]; if (dt.Rows[0]["TaxOfficeIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["TaxOfficeIdName"].ToString(); } er.LogicalName = "new_taxoffice"; _account.TaxOffice = er; } if (dt.Rows[0]["CrOwnerId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["CrOwnerId"]; if (dt.Rows[0]["CrOwnerIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["CrOwnerIdName"].ToString(); } er.LogicalName = "systemuser"; _account.CrOwner = er; } #endregion returnValue.Success = true; returnValue.ReturnObject = _account; } else { returnValue.Result = "Firma bilgileri alınamadı!"; returnValue.Success = false; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetSendSsmsRecordInfo(Guid sendSmsId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"DECLARE @now DATETIME SET @now=GETUTCDATE() SELECT s.new_sentsmsId AS Id ,s.new_name AS Name ,s.statuscode AS StatusCode ,s.new_contactId AS ContactId ,s.new_contactIdName AS ContactIdName ,s.new_content AS Content ,s.new_errortext AS ErrorText ,s.new_issent AS IsSent ,s.new_MesajId AS MessageId ,s.new_phonenumber AS PhoneNumber ,s.new_prefferedsenddate AS PrefferedSendDate ,s.new_resultcode AS ResultCode ,s.new_smsconfigurationId AS SmsConfigurationId ,s.new_smsconfigurationIdName AS SmsConfigurationIdName FROM new_sentsms AS s (NOLOCK) WHERE s.new_sentsmsId='{0}'" ; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, sendSmsId)); if (dt.Rows.Count > 0) { SendSmsRecord sendRec = new SendSmsRecord(); sendRec.Id = (Guid)dt.Rows[0]["Id"]; sendRec.Name = dt.Rows[0]["Name"].ToString(); sendRec.StatusCode = (int)dt.Rows[0]["StatusCode"]; if (dt.Rows[0]["ContactId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["ContactId"], Name = dt.Rows[0]["ContactIdName"].ToString(), LogicalName = "contact" }; sendRec.Contact = er; } sendRec.Content = dt.Rows[0]["Content"].ToString(); sendRec.IsSent = (bool)dt.Rows[0]["IsSent"]; sendRec.PhoneNumber = dt.Rows[0]["PhoneNumber"].ToString(); sendRec.PrefferedSendDate = (DateTime)dt.Rows[0]["PrefferedSendDate"]; sendRec.ResultCode = dt.Rows[0]["ResultCode"].ToString(); if (dt.Rows[0]["SmsConfigurationId"] != DBNull.Value) { //EntityReference er = new EntityReference() //{ // Id = (Guid)dt.Rows[0]["SmsConfigurationId"], // Name = dt.Rows[0]["SmsConfigurationId"].ToString(), // LogicalName = "new_smsconfiguration" //}; //sendRec.SmsConfiguration = er; MsCrmResultObject resultConf = SMSHelper.GetSmsConfigurationInfo((Guid)dt.Rows[0]["SmsConfigurationId"], sda); if (resultConf.Success) { sendRec.SmsConfiguration = (SmsConfiguration)resultConf.ReturnObject; } } returnValue.ReturnObject = sendRec; returnValue.Success = true; returnValue.Result = "Sms gönderme kaydı bilgisi çekildi."; } else { returnValue.Result = "Sms Gönderim kaydı bilgisi çekilemedi."; } } catch (Exception ex) { returnValue.Result = ex.Message; } return(returnValue); }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); try { #region | SERVICE | IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); #region | Validate Request | //Target yoksa veya Entity tipinde değilse, devam etme. if (!context.InputParameters.Contains("EntityMoniker") || !(context.InputParameters["EntityMoniker"] is EntityReference)) { return; } #endregion IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); Guid appointmentId = ((EntityReference)context.InputParameters["EntityMoniker"]).Id; Entity postImage = service.Retrieve("appointment", appointmentId, new ColumnSet(true)); #endregion #region | RANDEVU SONUCU İLGİLİ İSE YAPILACAK İŞLEMLER | if (!postImage.Attributes.Contains("requiredattendees") && postImage["requiredattendees"] != null) { throw new Exception("Lütfen randevu kişi bilgisini doldurunuz!"); } EntityReference customer = (EntityReference)((EntityCollection)(postImage["requiredattendees"])).Entities[0]["partyid"]; if (postImage.Attributes.Contains("new_activitystatus") && postImage["new_activitystatus"] != null) { MsCrmResultObject activityStatusResult = ActivityHelper.GetActivityStatusDetail(((EntityReference)postImage["new_activitystatus"]).Id, sda); if (activityStatusResult.Success) { ActivityStatus activityStatus = (ActivityStatus)activityStatusResult.ReturnObject; if (activityStatus.ActivityStatusCode == ActivityStatusCodes.Ilgili) { bool hasOpenOpportunity = false; Guid ownerId = ((EntityReference)postImage["ownerid"]).Id; Guid opportunityId = Guid.Empty; #region | OPPORTUNITY PROCESS | MsCrmResult opportunityControlResult = OpportunityHelper.HasOpenOpportunityToSalesConsultantAndContact(customer.Id, ownerId, sda); if (opportunityControlResult.Success) { hasOpenOpportunity = true; opportunityId = opportunityControlResult.CrmId; Entity oppEnt = new Entity("opportunity"); oppEnt["opportunityid"] = opportunityId; oppEnt["new_relatedactivitystatusid"] = (EntityReference)postImage["new_activitystatusdetail"]; service.Update(oppEnt); } else { Opportunity opportunity = new Opportunity(); opportunity.Contact = customer; opportunity.ActivityStatusDetail = (EntityReference)postImage["new_activitystatusdetail"]; opportunity.Owner = ((EntityReference)postImage["ownerid"]); MsCrmResult opportunityResult = OpportunityHelper.CreateOrUpdateOpportunity(opportunity, service); if (opportunityResult.Success) { opportunityId = opportunityResult.CrmId; } else { throw new Exception(opportunityResult.Result); } } #endregion #region | SEY ACTIVITY REGARDING OBJECT AS OPPORTUNITY | Entity activity = new Entity("appointment"); activity.Id = postImage.Id; activity["regardingobjectid"] = new EntityReference("opportunity", opportunityId); service.Update(activity); #endregion #region | OPPORTUNITY PRODUCT PROCESS | MsCrmResultObject activityProductsResult = InterestProductHelper.GetActivityInterestedProjects(postImage.Id, sda); if (activityProductsResult.Success) { List <InterestProduct> relatedProducts = (List <InterestProduct>)activityProductsResult.ReturnObject; #region | FIRSATIN FİYAT LİSTESİ ÜRÜNÜN FİYAT LİSTESİ İLE SET EDİLİR | Entity ent = new Entity("opportunity"); ent.Id = opportunityId; ent["pricelevelid"] = relatedProducts[0].InterestedProduct.PriceList; service.Update(ent); #endregion for (int i = 0; i < relatedProducts.Count; i++) { Product product = relatedProducts[i].InterestedProduct; if (hasOpenOpportunity) { MsCrmResult hasProductAddedOppProc = OpportunityHelper.HasOpportunityProduct(opportunityId, product.ProductId, sda); if (!hasProductAddedOppProc.Success) { OpportunityHelper.CreateOpportunityProduct(opportunityId, product, service); } } else { OpportunityHelper.CreateOpportunityProduct(opportunityId, product, service); } } } #endregion } } else { throw new Exception(activityStatusResult.Result); } } #endregion #region | SAHİPLİK İLE İLGİLİ İŞLEMLER | //Eğer kişi ve firma resepsiyonist tarafından oluşturulmuş ise, ilk aktivenin sahibi atanır. Entity ownerEntity = service.Retrieve(customer.LogicalName, customer.Id, new ColumnSet("ownerid")); EntityReference owner = (EntityReference)ownerEntity["ownerid"]; SystemUser su = SystemUserHelper.GetSystemUserInfo(owner.Id, sda); if (su.SystemUserId != null) { if (su.UserType == UserTypes.Resepsiyonist) { AssignRequest assign = new AssignRequest { Assignee = (EntityReference)postImage["ownerid"], Target = customer }; // Execute the Request service.Execute(assign); } } #endregion #region | WEBFORM KAYDI VAR İSE YAPILACAKLAR | //Birden fazla web form kaydı var ise 1. si "Tamamlandı - Temas Kuruldu" olarak diğerleri "Tamamlandı - Başka Bir Temas Nedeniyle" olarak kapatılır. MsCrmResultObject webFormResult = WebFormHelper.GetContactWebForms(customer.Id, sda); if (webFormResult.Success && webFormResult.ReturnObject != null) { List <WebForm> webFormList = (List <WebForm>)webFormResult.ReturnObject; if (webFormList.Count > 0) { WebForm firstForm = webFormList[0]; WebFormHelper.WebFormClose(firstForm.WebFormId, 1, 2, service); //Tamamlandı - Temas Kuruldu if (webFormList.Count > 1) { for (int i = 0; i < webFormList.Count; i++) { WebForm form = webFormList[i]; WebFormHelper.WebFormClose(form.WebFormId, 1, 100000000, service); //Tamamlandı - Başka Bir Temas Nedeniyle } } } } #endregion } catch (Exception ex) { throw ex; } finally { if (sda != null) { sda.closeConnection(); } } }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); try { #region | SERVICE | IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); #region | Validate Request | //Target yoksa veya Entity tipinde değilse, devam etme. if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } #endregion IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); #endregion Entity entity = (Entity)context.InputParameters["Target"]; #region | ADD PHONECALL QUEUE | Guid ownerId = entity.Attributes.Contains("ownerid") ? ((EntityReference)entity["ownerid"]).Id : Guid.Empty; if (ownerId != Guid.Empty) { SystemUser user = SystemUserHelper.GetSystemUserInfo(ownerId, sda); if (user.SystemUserId != Guid.Empty) { if (user.UserType != null && user.UserType == UserTypes.CallCenter) //Telefon görüşmesinin sahibi Call Center kullanıcısı ise { MsCrmResultObject callCenterQueueResult = GeneralHelper.GetQueues(QueueTypes.CallCenter, sda); if (callCenterQueueResult.Success) { Queue callCenterQueue = ((List <Queue>)callCenterQueueResult.ReturnObject)[0]; MsCrmResult phoneQueueResult = ActivityHelper.AddPhoneCallToQueue(entity.Id, callCenterQueue.QueueId, service); if (!phoneQueueResult.Success) { throw new Exception(phoneQueueResult.Result); } } } } } if (entity.Attributes.Contains("regardingobjecttypecode")) { } #endregion #region | ADD PHONECALL QUEUE | Kuyruk lookup'ında hangi kuyruk seçilirse create anında kaydı otomatik olarak o kuyruğa atanır. Guid queueId = entity.Attributes.Contains("new_queueid") ? ((EntityReference)entity["new_queueid"]).Id : Guid.Empty; if (queueId != Guid.Empty) { MsCrmResult phoneQueueResult = ActivityHelper.AddPhoneCallToQueue(entity.Id, queueId, service); if (!phoneQueueResult.Success) { throw new Exception(phoneQueueResult.Result); } } #endregion } catch (Exception ex) { throw new InvalidPluginExecutionException(ex.Message); } finally { if (sda != null) { sda.closeConnection(); } } }
public static MsCrmResultObject GetForumInfo(Guid forumId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT f.new_forumId AS Id ,f.new_name AS Name ,f.new_parentforumId AS ParentForumId ,f.new_parentforumIdName AS ParentForumIdName ,f.CreatedOn FROM new_forum AS f (NOLOCK) WHERE f.new_forumId='{0}' AND f.statecode=0 AND f.statuscode=1 --Active" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, forumId)); if (dt != null && dt.Rows.Count > 0) { Forum fr = new Forum(); fr.Id = (Guid)dt.Rows[0]["Id"]; fr.Name = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; fr.CreatedOn = (DateTime)dt.Rows[0]["CreatedOn"]; if (dt.Rows[0]["ParentForumId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["ParentForumId"]; er.Name = dt.Rows[0]["ParentForumIdName"] != DBNull.Value ? dt.Rows[0]["ParentForumIdName"].ToString() : string.Empty; er.LogicalName = "new_forum"; fr.ParentForum = er; } MsCrmResultObject subjectRes = ForumHelper.GetForumSubjects(fr.Id, sda); if (subjectRes.Success) { fr.ForumSubjects = (List <ForumSubject>)subjectRes.ReturnObject; } MsCrmResultObject subForumRes = ForumHelper.GetSubForums(fr.Id, portalUserId, sda); if (subForumRes.Success) { fr.SubForums = (List <Forum>)subForumRes.ReturnObject; } returnValue.Success = true; returnValue.ReturnObject = fr; } else { returnValue.Success = false; returnValue.Result = "M047"; //"Foruma ait herhangi bir bilgi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetForumSubjectInfo(Guid forumSubjectId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT fs.new_forumsubjectId AS Id ,fs.new_name AS Name ,fs.new_userId AS UserId ,fs.new_userIdName AS UserIdName ,fs.new_content AS Content ,fs.CreatedOn ,u.new_imageurl ImageUrl FROM new_forumsubject AS fs (NOLOCK) JOIN new_user AS u (NOLOCK) ON u.new_userId=fs.new_userId WHERE fs.new_forumsubjectId='{0}' AND fs.statecode=0 AND fs.statuscode=1 --Active" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, forumSubjectId)); if (dt != null && dt.Rows.Count > 0) { ForumSubject fs = new ForumSubject(); fs.Id = (Guid)dt.Rows[0]["Id"]; fs.Name = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; fs.Content = dt.Rows[0]["Content"] != DBNull.Value ? dt.Rows[0]["Content"].ToString() : string.Empty; fs.PortalUserImage = dt.Rows[0]["ImageUrl"] != DBNull.Value ? dt.Rows[0]["ImageUrl"].ToString() : "nouserprofile.jpg"; fs.CreatedOn = (DateTime)dt.Rows[0]["CreatedOn"]; fs.CreatedOnString = ((DateTime)dt.Rows[0]["CreatedOn"]).ToString("dd MMMM yyyy ddddd HH:mm", new CultureInfo("tr-TR", false)); if (dt.Rows[0]["UserId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[0]["UserId"]; er.Name = dt.Rows[0]["UserIdName"] != DBNull.Value ? dt.Rows[0]["UserIdName"].ToString() : string.Empty; er.LogicalName = "new_user"; fs.User = er; } MsCrmResultObject resComment = CommentHelper.GetEntityComments(fs.Id, "new_forumsubject", 0, 10, sda); if (resComment.Success) { fs.CommentList = (List <Comment>)resComment.ReturnObject; } MsCrmResultObject resultLike = LikeHelper.GetEntityLikeInfo(fs.Id, "new_forumsubject", sda); if (resultLike.Success) { fs.LikeDetail = (LikeInfo)resultLike.ReturnObject; } returnValue.Success = true; returnValue.ReturnObject = fs; } else { returnValue.Success = false; returnValue.Result = "M049"; //"Forum konu başlığına ait bilgi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetSubForums(Guid forumId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT f.new_forumId AS Id ,f.new_name AS Name ,f.new_parentforumId AS ParentForumId ,f.new_parentforumIdName AS ParentForumIdName ,f.CreatedOn FROM new_forum AS f (NOLOCK) JOIN new_new_forum_new_role AS fr (NOLOCK) ON fr.new_forumid=f.new_forumId JOIN new_role AS r (NOLOCK) ON r.new_roleId=fr.new_roleid AND r.statecode=0 AND r.statuscode=1 --Active JOIN new_new_user_new_role AS ur (NOLOCK) ON ur.new_userid='{1}' WHERE f.new_parentforumId='{0}' AND f.statecode=0 AND f.statuscode=1 --Active ORDER BY f.CreatedOn"; #endregion DataTable dt = sda.getDataTable(string.Format(query, forumId, portalUserId)); if (dt != null && dt.Rows.Count > 0) { List <Forum> lstSubFr = new List <Forum>(); for (int i = 0; i < dt.Rows.Count; i++) { Forum fr = new Forum(); fr.Id = (Guid)dt.Rows[i]["Id"]; fr.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; fr.CreatedOn = (DateTime)dt.Rows[i]["CreatedOn"]; if (dt.Rows[i]["ParentForumId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.Id = (Guid)dt.Rows[i]["ParentForumId"]; er.Name = dt.Rows[i]["ParentForumIdName"] != DBNull.Value ? dt.Rows[i]["ParentForumIdName"].ToString() : string.Empty; er.LogicalName = "new_forum"; fr.ParentForum = er; } MsCrmResultObject subFrRes = ForumHelper.GetSubForums(fr.Id, portalUserId, sda); if (subFrRes.Success) { fr.SubForums = (List <Forum>)subFrRes.ReturnObject; } lstSubFr.Add(fr); } returnValue.Success = true; returnValue.ReturnObject = lstSubFr; } else { returnValue.Success = false; returnValue.Result = "Alt forum kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetSurveyChoices(Guid surveyId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT c.new_surveychoiceId AS Id ,c.new_name AS Name ,c.new_surveyId AS SurveyId ,c.new_surveyIdName AS SurveyIdName FROM new_surveychoice AS c (NOLOCK) WHERE c.new_surveyId='{0}' AND c.statecode=0"; #endregion DataTable dt = sda.getDataTable(string.Format(query, surveyId)); if (dt != null && dt.Rows.Count > 0) { List<SurveyChoices> returnList = new List<SurveyChoices>(); for (int i = 0; i < dt.Rows.Count; i++) { SurveyChoices surveyChoices = new SurveyChoices(); surveyChoices.Id = (Guid)dt.Rows[i]["Id"]; surveyChoices.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; if (dt.Rows[i]["SurveyId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[i]["SurveyId"], Name = dt.Rows[i]["SurveyIdName"].ToString() }; surveyChoices.Survey = er; } returnList.Add(surveyChoices); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Ankete ait şıklar bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetDiscoveryFormInfo(Guid discoveryFormId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"SELECT pc.new_discoveryformId AS Id ,pc.new_name AS Name ,pc.new_firstname AS FirstName ,pc.new_lastname AS LastName ,pc.new_phonenumber AS PhoneNumber ,pc.new_email AS Email ,pc.new_cityid AS CityId ,pc.new_cityidName AS CityIdName ,'new_city' AS CityIdTypeName ,pc.new_townid AS TownId ,pc.new_townidName AS TownIdName ,'new_town' AS TownIdTypeName ,pc.new_userid AS UserId ,pc.new_useridName AS UserIdName ,'new_user' AS UserIdTypeName ,pc.new_portalid AS PortalId ,pc.new_portalidName AS PortalIdName ,'new_portal' AS PortalIdTypeName ,pc.new_hometype AS HomeType ,pc.new_informedby AS InformedBy ,pc.new_visithour AS VisitHour ,pc.new_visitdate AS VisitDate ,pc.new_formcode AS FormCode ,pc.statuscode AS Status ,pc.CreatedOn AS CreatedOn FROM new_discoveryform AS pc (NOLOCK) WHERE pc.new_discoveryformid='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, discoveryFormId)); if (dt.Rows.Count > 0) { List<DiscoveryForm> discoveryForm = dt.ToList<DiscoveryForm>(); returnValue.Success = true; returnValue.ReturnObject = discoveryForm[0]; } else { returnValue.Result = "Kayıt bulunamadı."; } } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetGiftCategoryList(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT DISTINCT E.new_giftcategoryId AS Id ,E.new_name Name ,E.new_portalid PortalId ,E.new_portalidName PortalIdName ,'new_portal' AS PortalIdTypeName ,E.new_imageurl AS ImageUrl FROM new_giftcategory AS E (NOLOCK) JOIN new_new_user_new_role AS UR (NOLOCK) ON UR.new_userid='{1}' JOIN new_role AS RD (NOLOCK) ON RD.new_roleId=UR.new_roleid AND Rd.statecode=0 AND RD.statuscode=1 --Active JOIN new_new_giftcategory_new_role AS ERDF (NOLOCK) ON ERDF.new_giftcategoryid =E.new_giftcategoryId AND ERDF.new_roleid=RD.new_roleId WHERE E.new_portalid = '{0}' AND E.statuscode=1 --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId)); if (dt.Rows.Count > 0) { List <GiftCategory> giftCategoryList = dt.ToList <GiftCategory>(); returnValue.Success = true; returnValue.ReturnObject = giftCategoryList; } else { returnValue.Success = false; returnValue.Result = "Hediye kategori kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetUserForums(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT f.new_forumId AS Id ,f.new_name AS Name ,f.new_parentforumId AS ParentForumId ,f.new_parentforumIdName AS ParentForumIdName ,f.CreatedOn FROM new_forum AS f (NOLOCK) JOIN new_new_forum_new_role AS fr (NOLOCK) ON fr.new_forumid=f.new_forumId JOIN new_role AS r (NOLOCK) ON r.new_roleId=fr.new_roleid AND r.statecode=0 AND r.statuscode=1 --Active JOIN new_new_user_new_role AS ur (NOLOCK) ON ur.new_userid='{1}' WHERE f.new_parentforumId IS NULL AND f.new_portalId='{0}' AND f.statecode=0 AND f.statuscode=1 --Active ORDER BY f.CreatedOn DESC"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId)); if (dt != null && dt.Rows.Count > 0) { List <Forum> lstForum = new List <Forum>(); for (int i = 0; i < dt.Rows.Count; i++) { MsCrmResultObject frRes = ForumHelper.GetForumInfo((Guid)dt.Rows[i]["Id"], portalUserId, sda); if (frRes.Success) { lstForum.Add((Forum)frRes.ReturnObject); } } returnValue.Success = true; returnValue.ReturnObject = lstForum; } else { returnValue.Success = false; returnValue.Result = "M046"; //"Forum kaydı bulunamadı!!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetGiftReuqestListByStatus(DiscoveryFormStatus discoveryFormStatus, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"DECLARE @objectTypeCode INT SELECT TOP 1 @objectTypeCode=e.ObjectTypeCode FROM Entity AS e (NOLOCK) WHERE e.Name='new_discoveryform' SELECT pc.new_discoveryformId AS Id ,pc.new_name AS Name ,pc.new_firstname AS FirstName ,pc.new_lastname AS LastName ,pc.new_phonenumber AS PhoneNumber ,pc.new_email AS Email ,pc.new_cityid AS CityId ,pc.new_cityidName AS CityIdName ,'new_city' AS CityIdTypeName ,pc.new_townid AS TownId ,pc.new_townidName AS TownIdName ,'new_town' AS TownIdTypeName ,pc.new_userid AS UserId ,pc.new_useridName AS UserIdName ,'new_user' AS UserIdTypeName --,pc.new_hometype AS HomeType --,smHomeType.Value AS HomeTypeValue --,pc.new_informedby AS InformedBy --,smInformedBy.Value AS InformedByValue --,pc.new_visithour AS VisitHour --,smVisitHour.Value AS VisitHourValue ,pc.new_visitdate AS VisitDate ,pc.new_formcode AS FormCode ,pc.statuscode AS Status ,pc.CreatedOn AS CreatedOn FROM new_discoveryform AS pc (NOLOCK) -- JOIN -- StringMap AS smHomeType (NOLOCK) -- ON -- smHomeType.ObjectTypeCode=@objectTypeCode -- AND -- smHomeType.AttributeName='new_hometype' -- AND -- smHomeType.AttributeValue=pc.new_hometype -- JOIN -- StringMap AS smInformedBy (NOLOCK) -- ON -- smInformedBy.ObjectTypeCode=@objectTypeCode -- AND -- smInformedBy.AttributeName='new_informedby' -- AND -- smInformedBy.AttributeValue=pc.new_informedby -- JOIN -- StringMap AS smVisitHour (NOLOCK) -- ON -- smVisitHour.ObjectTypeCode=@objectTypeCode -- AND -- smVisitHour.AttributeName='new_visithour' -- AND -- smVisitHour.AttributeValue=pc.new_visithour WHERE pc.statuscode={0}"; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, ((int)discoveryFormStatus)).ToString()); if (dt.Rows.Count > 0) { List<DiscoveryForm> giftList = dt.ToList<DiscoveryForm>(); returnValue.Success = true; returnValue.ReturnObject = giftList; } else { returnValue.Success = false; returnValue.Result = "Keşif form kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResult SendMailRentalToApproval(Product rentalProduct, Entity _rental, UserTypes type, SqlDataAccess sda, IOrganizationService service) { MsCrmResult returnValue = new MsCrmResult(); try { #region | SEND INFORMATIONS | string projectName = rentalProduct.Project != null ? rentalProduct.Project.Name : string.Empty; string blockName = rentalProduct.Block != null ? rentalProduct.Block.Name : string.Empty; string floorNumber = rentalProduct.FloorNumber != null?rentalProduct.FloorNumber.ToString() : string.Empty; string generalhomeType = rentalProduct.GeneralHomeType != null ? rentalProduct.GeneralHomeType.Name : string.Empty; string homeType = rentalProduct.HomeType != null ? rentalProduct.HomeType.Name : string.Empty; string net = rentalProduct.Net != null ? ((decimal)rentalProduct.Net).ToString("N0", CultureInfo.CurrentCulture) : string.Empty; string brut = rentalProduct.Brut != null ? ((decimal)rentalProduct.Brut).ToString("N0", CultureInfo.CurrentCulture) : string.Empty; string productAmount = rentalProduct.PaymentOfHire.HasValue ? rentalProduct.PaymentOfHire.Value.ToString("N2") : string.Empty; string rentalAmount = _rental.GetAttributeValue <Money>("new_rentalfee") != null?_rental.GetAttributeValue <Money>("new_rentalfee").Value.ToString("N2") : string.Empty; string currencyName = _rental.GetAttributeValue <EntityReference>("transactioncurrencyid") != null ? (_rental.GetAttributeValue <EntityReference>("transactioncurrencyid")).Name : string.Empty; #endregion #region | GET CURRENCY | string exchangeRate = string.Empty; Guid currencyId = (_rental.GetAttributeValue <EntityReference>("transactioncurrencyid")).Id; MsCrmResultObject currencyResult = CurrencyHelper.GetExchangeRateByCurrency(DateTime.Now, currencyId, sda); if (currencyResult.Success) { ExchangeRate rate = (ExchangeRate)currencyResult.ReturnObject; exchangeRate = ((decimal)rate.SaleRate).ToString("N0", CultureInfo.CurrentCulture); } #endregion string body = "<table>"; body += "<tr><td>Proje : </td><td>" + projectName + "</td></tr>"; body += "<tr><td>Blok : </td><td>" + blockName + "</td></tr>"; body += "<tr><td>Kat : </td><td>" + floorNumber + "</td></tr>"; body += "<tr><td>Daire No : </td><td>" + rentalProduct.HomeNumber + "</td></tr>"; body += "<tr><td>Tip : </td><td>" + generalhomeType + "</td></tr>"; body += "<tr><td>Daire Tipi : </td><td>" + homeType + "</td></tr>"; body += "<tr><td>Konut Kiralama Fiyatı : </td><td>" + productAmount + "</td></tr>"; body += "<tr><td>Kiralamak İstenen Fiyat : </td><td>" + rentalAmount + "</td></tr>"; body += "<tr><td>Net m2 : </td><td>" + net + "</td></tr>"; body += "<tr><td>Brüt m2 : </td><td>" + brut + "</td></tr>"; body += "<tr><td>Para Birimi : </td><td>" + currencyName + "</td></tr>"; body += "<tr><td>Güncel Kur : </td><td>" + exchangeRate + "</td></tr>"; body += "</table>"; body += "<br/>"; body += "<br/>"; body += "<a href='{0}' target='_blank'>Kiralamayı onaylamak/reddetmek için lütfen tıklayınız.</a>"; string url = "http://fenix.centralproperty.com.tr/index.aspx?page=rentalconfirm&name=rentalid&pageid=" + _rental.Id; body = string.Format(body, url); //MsCrmResultObject managerResult = SystemUserHelper.GetSalesManager(sda); MsCrmResultObject managerResult = SystemUserHelper.GetUsersByUserTypes(type, sda); if (managerResult != null && managerResult.Success) { Entity fromParty = new Entity("activityparty"); fromParty["partyid"] = _rental.GetAttributeValue <EntityReference>("ownerid"); Entity[] fromPartyColl = new Entity[] { fromParty }; #region | SET TO | List <SystemUser> returnList = (List <SystemUser>)managerResult.ReturnObject; Entity[] toPartyColl = new Entity[returnList.Count]; for (int i = 0; i < returnList.Count; i++) { Entity toParty = new Entity("activityparty"); toParty["partyid"] = new EntityReference("systemuser", returnList[i].SystemUserId); toPartyColl[i] = toParty; } #endregion Annotation anno = null; MsCrmResult mailResult = GeneralHelper.SendMail(_rental.Id, "new_rentalrecord", fromPartyColl, toPartyColl, "Kiralama Onayı", body, anno, service); returnValue = mailResult; } else { returnValue.Success = false; returnValue.Result = managerResult.Result; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetRentalDetail(Guid rentalid, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"SELECT q.new_name, q.new_rentalrecordId, q.new_accountid, q.new_accountidName, q.new_productid, q.new_productidName, q.new_contactid, q.new_contactidName, q.new_guarantorid, q.new_guarantoridName, q.new_commission, q.new_rentalfee, q.new_deposit, q.TransactionCurrencyId, q.TransactionCurrencyIdName, q.new_contractenddate, q.new_contractstartdate, q.OwnerId, q.OwnerIdName, p.new_projectid, p.new_projectidName, p.new_paymentofhire, p.TransactionCurrencyId as pCurrencyId, p.TransactionCurrencyIdName as pCurrencyName, smStateCode.AttributeValue AS StateCode, smStateCode.Value AS StateValue, smStatusCode.AttributeValue AS StatusCode, smStatusCode.Value AS StatusValue, prodStatusCode.Value as pStatusName, prodStatusCode.AttributeValue as pStatusCode, q.new_guarantor, q.new_guarantorphone FROM new_rentalrecord AS q (NOLOCK) JOIN StringMap AS smStateCode (NOLOCK) ON smStateCode.ObjectTypeCode=10086 AND smStateCode.AttributeName='statecode' AND smStateCode.AttributeValue=q.StateCode JOIN StringMap AS smStatusCode (NOLOCK) ON smStatusCode.ObjectTypeCode=10086 AND smStatusCode.AttributeName='statuscode' AND smStatusCode.AttributeValue=q.StatusCode JOIN Product as P ON q.new_productid = p.ProductId LEFT JOIN StringMap AS prodStatusCode (NOLOCK) ON prodStatusCode.ObjectTypeCode=1024 AND prodStatusCode.AttributeName='new_usedrentalandsalesstatus' AND prodStatusCode.AttributeValue=P.new_usedrentalandsalesstatus WHERE q.new_rentalrecordId=@rentalid ORDER BY q.CreatedOn DESC" ; #endregion SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@rentalid", rentalid) }; DataTable dt = sda.getDataTable(sqlQuery, parameters); if (dt.Rows.Count > 0) { #region | FILL QUOTE INFO | Rental _rental = new Rental(); _rental.RentalId = (Guid)dt.Rows[0]["new_rentalrecordId"]; _rental.Name = dt.Rows[0]["new_name"].ToString(); if (dt.Rows[0]["new_contractstartdate"] != DBNull.Value) { _rental.ContractStartDate = ((DateTime)dt.Rows[0]["new_contractstartdate"]).ToLocalTime(); _rental.ContractStartDateStr = _rental.ContractStartDate.Value.ToString("dd.MM.yyyy"); } if (dt.Rows[0]["new_contractenddate"] != DBNull.Value) { _rental.ContractEndDate = ((DateTime)dt.Rows[0]["new_contractenddate"]).ToLocalTime(); _rental.ContractEndDateStr = _rental.ContractEndDate.Value.ToString("dd.MM.yyyy"); } if (dt.Rows[0]["new_rentalfee"] != DBNull.Value) { _rental.RentalAmount = (decimal)dt.Rows[0]["new_rentalfee"]; _rental.RentalAmountStr = ((decimal)dt.Rows[0]["new_rentalfee"]).ToString("N2"); } if (dt.Rows[0]["new_paymentofhire"] != DBNull.Value) { _rental.ProductAmount = (decimal)dt.Rows[0]["new_paymentofhire"]; _rental.ProductAmountStr = ((decimal)dt.Rows[0]["new_paymentofhire"]).ToString("N2"); } if (dt.Rows[0]["new_commission"] != DBNull.Value) { _rental.CommissionAmount = (decimal)dt.Rows[0]["new_commission"]; _rental.CommissionAmountStr = ((decimal)dt.Rows[0]["new_commission"]).ToString("N2"); } if (dt.Rows[0]["new_deposit"] != DBNull.Value) { _rental.DepositAmount = (decimal)dt.Rows[0]["new_deposit"]; _rental.DepositAmountStr = ((decimal)dt.Rows[0]["new_deposit"]).ToString("N2"); } if (dt.Rows[0]["OwnerId"] != DBNull.Value) { _rental.Owner = new EntityReference() { Id = (Guid)dt.Rows[0]["OwnerId"], Name = dt.Rows[0]["OwnerIdName"].ToString(), LogicalName = "systemuser" }; } if (dt.Rows[0]["new_contactid"] != DBNull.Value) { _rental.Contact = new EntityReference() { Id = (Guid)dt.Rows[0]["new_contactid"], Name = dt.Rows[0]["new_contactidName"].ToString(), LogicalName = "contact" }; } if (dt.Rows[0]["new_accountid"] != DBNull.Value) { _rental.Contact = new EntityReference() { Id = (Guid)dt.Rows[0]["new_accountid"], Name = dt.Rows[0]["new_accountidName"].ToString(), LogicalName = "account" }; } if (dt.Rows[0]["TransactionCurrencyId"] != DBNull.Value) { _rental.Currency = new EntityReference() { Id = (Guid)dt.Rows[0]["TransactionCurrencyId"], Name = dt.Rows[0]["TransactionCurrencyIdName"].ToString(), LogicalName = "transactioncurrency" }; } if (dt.Rows[0]["pCurrencyId"] != DBNull.Value) { _rental.pCurrency = new EntityReference() { Id = (Guid)dt.Rows[0]["pCurrencyId"], Name = dt.Rows[0]["pCurrencyName"].ToString(), LogicalName = "transactioncurrency" }; } if (dt.Rows[0]["new_productid"] != DBNull.Value) { _rental.Product = new EntityReference() { Id = (Guid)dt.Rows[0]["new_productid"], Name = dt.Rows[0]["new_productidName"].ToString(), LogicalName = "product" }; } if (dt.Rows[0]["new_projectid"] != DBNull.Value) { _rental.Project = new EntityReference() { Id = (Guid)dt.Rows[0]["new_projectid"], Name = dt.Rows[0]["new_projectidName"].ToString(), LogicalName = "new_project" }; } if (dt.Rows[0]["new_guarantor"] != DBNull.Value) { _rental.GuarantorName = dt.Rows[0]["new_guarantor"].ToString(); } if (dt.Rows[0]["new_guarantorphone"] != DBNull.Value) { _rental.GuarantorPhone = dt.Rows[0]["new_guarantorphone"].ToString(); } _rental.StateCode = new StringMap() { Name = dt.Rows[0]["StateValue"].ToString(), Value = (int)dt.Rows[0]["StateCode"] }; _rental.StatusCode = new StringMap() { Name = dt.Rows[0]["StatusValue"].ToString(), Value = (int)dt.Rows[0]["StatusCode"] }; _rental.pStatusCode = new StringMap() { Name = dt.Rows[0]["pStatusName"].ToString(), Value = (int)dt.Rows[0]["pStatusCode"] }; #endregion returnValue.Success = true; returnValue.ReturnObject = _rental; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetCustomerRentals(Guid?contactid, Guid?accountid, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT Q.new_rentalrecordId Id ,Q.new_contractenddate EndDate ,Q.new_contractstartdate StartDate ,SM.Value Status FROM new_rentalrecord Q WITH (NOLOCK) INNER JOIN StringMap SM WITH (NOLOCK) ON {0} AND SM.ObjectTypeCode = 10086 AND SM.AttributeName = 'statuscode' AND SM.AttributeValue = Q.StatusCode ORDER BY Q.CreatedOn DESC"; #endregion string customerId = string.Empty; if (accountid.HasValue) { customerId = string.Format("Q.new_accountid = '{0}'", accountid.Value.ToString()); } if (contactid.HasValue) { customerId = string.Format("Q.new_contactid = '{0}'", contactid.Value.ToString()); } DataTable dt = sda.getDataTable(string.Format(query, customerId)); if (dt != null && dt.Rows.Count > 0) { #region | GET QUOTES | List <Rental> returnList = new List <Rental>(); for (int i = 0; i < dt.Rows.Count; i++) { MsCrmResultObject rentalResult = RentalHelper.GetRentalDetail((Guid)dt.Rows[i]["Id"], sda); if (rentalResult.Success) { Rental _quote = (Rental)rentalResult.ReturnObject; returnList.Add(_quote); } } #endregion returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Müşteriye ait Kiralama Kaydı bulunmamaktadır!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetQuestionInfo(Guid questionId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT q.new_questionId AS Id ,q.new_name AS Name ,q.new_portalId AS PortalId ,q.new_portalIdName AS PortalIdName ,q.new_questionlevelId AS LevelId ,q.new_questionlevelIdName AS LevelIdName --,q.new_portal_rubic_cube_definitionid AS DefinationId --,q.new_portal_rubic_cube_definitionidName AS DefinationIdName ,q.new_category AS QuestionCategoryValue ,NULL AS QuestionCategoryName ,q.new_timecount AS [Time] ,q.new_point AS [Point] FROM new_question AS q (NOLOCK) WHERE q.new_questionId='{0}' AND q.statecode=0 AND q.statuscode=1 --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, questionId)); if (dt != null && dt.Rows.Count > 0) { Question _question = new Question(); _question.Id = (Guid)dt.Rows[0]["Id"]; _question.Name = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; if (dt.Rows[0]["PortalId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["PortalId"], Name = dt.Rows[0]["PortalIdName"].ToString() }; _question.Portal = er; } if (dt.Rows[0]["LevelId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["LevelId"], Name = dt.Rows[0]["LevelIdName"].ToString() }; _question.QuestionLevel = er; } //if (dt.Rows[0]["DefinationId"] != DBNull.Value) //{ // EntityReference er = new EntityReference() // { // Id = (Guid)dt.Rows[0]["DefinationId"], // Name = dt.Rows[0]["DefinationIdName"].ToString() // }; // _question.QuestionDefination = er; //} if (dt.Rows[0]["QuestionCategoryValue"] != DBNull.Value) { StringMap sm = new StringMap() { Value = (int)dt.Rows[0]["QuestionCategoryValue"], Name = dt.Rows[0]["QuestionCategoryName"] != DBNull.Value ? dt.Rows[0]["QuestionCategoryName"].ToString() : string.Empty }; _question.QuestionCategory = sm; } _question.Time = dt.Rows[0]["Time"] != DBNull.Value ? (int)dt.Rows[0]["Time"] : 0; _question.Point = dt.Rows[0]["Point"] != DBNull.Value ? (int)dt.Rows[0]["Point"] : 0; _question.QuestionChoices = (List<QuestionChoices>)GetQuestionChoices(_question.Id, sda).ReturnObject; returnValue.Success = true; returnValue.ReturnObject = _question; } else { returnValue.Success = false; returnValue.Result = "M028"; //"Soruya ait bilgi bulunamadı"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; JavaScriptSerializer serializer = new JavaScriptSerializer(); MsCrmResultObject returnValue = new MsCrmResultObject(); try { var base64Data = context.Request.Form["data"]; if (base64Data != null) { #region |ADD CSV TO DATATABLE TO CHECK| CsvParse pars = new CsvParse(base64Data, CsvParser.CsvParse.delimiter.NoktalıVirgül); DataTable dt = new DataTable(); dt = pars.GetDataTableFromCSV(); #endregion if (dt == null || dt.Rows.Count == 0) { returnValue.Result = "Yanlış içerik veya kayıt yok. <br /> Lütfen kontrol ediniz."; } else { if (isColumnNamesOK(dt)) { IOrganizationService service; service = MSCRM.GetOrgService(true); Entity ent = new Entity("new_houseimport"); ent["new_name"] = DateTime.Now.ToString("dd.MM.yyyy HH:mm"); ent["statuscode"] = new OptionSetValue(1); //Beklemede Guid importId = service.Create(ent); Entity attach = new Entity("annotation"); attach["filename"] = context.Request.Form["name"]; attach["mimetype"] = context.Request.Form["type"]; attach["filesize"] = context.Request.Form["size"]; attach["subject"] = "Konut Import Dosyası"; attach["documentbody"] = base64Data; attach["objecttypecode"] = Globals.HouseImportObjectTypeCode; attach["isdocument"] = true; attach["objectid"] = new EntityReference("new_houseimport", importId); service.Create(attach); returnValue.Success = true; returnValue.Result = "Dosya başarılı bir şekilde import edildi.<br/> İşlem tamamlandığında mail ile bilgilendirme yapılacaktır."; } else { returnValue.Result = "Dosya içerisindeki kolon isimleri uyuşmuyor.<br/> Lütfen kontrol ediniz."; } } } else { returnValue.Result = "Dosya içeriği gönderilmedi.<br/> Lütfen kontrol ediniz."; } } catch (Exception ex) { returnValue.Result = ex.Message; } var data = serializer.Serialize(returnValue); context.Response.Write(data); }
public static MsCrmResultObject GetContactInfo(Guid contactId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT C.ContactId ,C.FirstName ,C.LastName ,C.JobTitle ,C.new_functionname FunctionName ,C.AccountId ,C.AccountIdName ,C.EMailAddress1 EmailAddress ,C.MobilePhone ,C.Telephone1 ,C.new_identitynumber AS IdentityNo ,C.GenderCode ,DATEADD(HH,3,C.BirthDate) AS BirthDate ,C.Description ,C.new_cityId AS CityId ,C.new_cityIdName AS CityIdName ,C.new_townId AS TownId ,C.new_townIdName AS TownIdName ,C.new_addressdetail AS AddressDetail ,C.new_markcontact AS MarkContact FROM Contact C (NoLock) WHERE C.ContactId = '{0}' AND C.StateCode = 0"; #endregion DataTable dt = sda.getDataTable(string.Format(query, contactId)); if (dt != null && dt.Rows.Count > 0) { Contact _contact = new Contact(); _contact.ContactId = (Guid)dt.Rows[0]["ContactId"]; _contact.FirstName = dt.Rows[0]["FirstName"] != DBNull.Value ? dt.Rows[0]["FirstName"].ToString() : string.Empty; _contact.LastName = dt.Rows[0]["LastName"] != DBNull.Value ? dt.Rows[0]["LastName"].ToString() : string.Empty; _contact.Title = dt.Rows[0]["JobTitle"] != DBNull.Value ? dt.Rows[0]["JobTitle"].ToString() : string.Empty; _contact.FunctionName = dt.Rows[0]["FunctionName"] != DBNull.Value ? dt.Rows[0]["FunctionName"].ToString() : string.Empty; _contact.EmailAddress = dt.Rows[0]["EmailAddress"] != DBNull.Value ? dt.Rows[0]["EmailAddress"].ToString() : string.Empty; _contact.MobilePhone = dt.Rows[0]["MobilePhone"] != DBNull.Value ? dt.Rows[0]["MobilePhone"].ToString() : string.Empty; _contact.WorkPhone = dt.Rows[0]["Telephone1"] != DBNull.Value ? dt.Rows[0]["Telephone1"].ToString() : string.Empty; _contact.IdentityNumber = dt.Rows[0]["IdentityNo"] != DBNull.Value ? dt.Rows[0]["IdentityNo"].ToString() : string.Empty; if (dt.Rows[0]["GenderCode"] != DBNull.Value) { _contact.Gender = (int)dt.Rows[0]["GenderCode"]; } if (dt.Rows[0]["BirthDate"] != DBNull.Value) { _contact.BirthDate = (DateTime)dt.Rows[0]["BirthDate"]; } _contact.Description = dt.Rows[0]["Description"] != DBNull.Value ? dt.Rows[0]["Description"].ToString() : string.Empty; _contact.MarkContact = dt.Rows[0]["MarkContact"] != DBNull.Value ? (bool)dt.Rows[0]["MarkContact"] : false; if (dt.Rows[0]["AccountId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "account"; er.Id = (Guid)dt.Rows[0]["AccountId"]; if (dt.Rows[0]["AccountIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["AccountIdName"].ToString(); } _contact.ParentAccount = er; } if (dt.Rows[0]["CityId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_city"; er.Id = (Guid)dt.Rows[0]["CityId"]; if (dt.Rows[0]["CityIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["CityIdName"].ToString(); } _contact.CityId = er; } if (dt.Rows[0]["TownId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_town"; er.Id = (Guid)dt.Rows[0]["TownId"]; if (dt.Rows[0]["TownIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["TownIdName"].ToString(); } _contact.TownId = er; } if (dt.Rows[0]["AccountId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "account"; er.Id = (Guid)dt.Rows[0]["AccountId"]; if (dt.Rows[0]["AccountIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["AccountIdName"].ToString(); } _contact.ParentAccount = er; } _contact.AddressDetail = dt.Rows[0]["AddressDetail"] != DBNull.Value ? dt.Rows[0]["AddressDetail"].ToString() : string.Empty; returnValue.ReturnObject = _contact; returnValue.Success = true; } else { returnValue.Success = false; returnValue.Result = "M007"; //"No contact info found!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public string GetVoucher(string quoteId) { MsCrmResultObject returnValue = new MsCrmResultObject(); List <PrePayment> lstPayments = new List <PrePayment>(); IOrganizationService service = MSCRM.AdminOrgService; ConditionExpression con1 = new ConditionExpression(); con1.AttributeName = "new_quoteid"; con1.Operator = ConditionOperator.Equal; con1.Values.Add(new Guid(quoteId)); ConditionExpression con2 = new ConditionExpression(); con2.AttributeName = "new_isvoucher"; con2.Operator = ConditionOperator.Equal; con2.Values.Add(true); ConditionExpression con3 = new ConditionExpression(); con3.AttributeName = "statecode"; con3.Operator = ConditionOperator.Equal; con3.Values.Add(0); ConditionExpression con4 = new ConditionExpression(); con4.AttributeName = "new_sign"; con4.Operator = ConditionOperator.Equal; con4.Values.Add(false); FilterExpression filter = new FilterExpression(); filter.FilterOperator = LogicalOperator.And; filter.Conditions.Add(con1); filter.Conditions.Add(con2); filter.Conditions.Add(con3); filter.Conditions.Add(con4); QueryExpression Query = new QueryExpression("new_payment"); Query.ColumnSet = new ColumnSet(true); Query.Criteria.FilterOperator = LogicalOperator.And; Query.Criteria.Filters.Add(filter); EntityCollection Result = service.RetrieveMultiple(Query); foreach (Entity p in Result.Entities) { Entity currencyDetail = GetCurrencyDetail(((EntityReference)p["transactioncurrencyid"]).Id, new string[1] { "currencysymbol" }, service); PrePayment _p = new PrePayment(); _p.PaymentId = p.Id; _p.Amount = (((Money)p.Attributes["new_paymentamount"]).Value).ToString("N2") + " " + currencyDetail["currencysymbol"].ToString(); _p.QuoteName = p.Contains("new_quoteid") ? ((EntityReference)p.Attributes["new_quoteid"]).Name : string.Empty; if (p.Contains("new_contactid")) { _p.CustomerName = ((EntityReference)p.Attributes["new_contactid"]).Name; } else if (p.Contains("new_accountid")) { _p.CustomerName = ((EntityReference)p.Attributes["new_accountid"]).Name; } _p.AmountDate = p.Contains("new_date") ? ((DateTime)p.Attributes["new_date"]).ToLocalTime().ToString("dd/MM/yyyy") : string.Empty; if (p.Contains("new_itype")) { _p.AmountType = new StringMap() { Name = GetOptionsSetTextFromValue(service, "new_payment", "new_itype", ((OptionSetValue)p.Attributes["new_itype"]).Value), Value = ((OptionSetValue)p.Attributes["new_itype"]).Value }; //Ödeme Tipi } else { _p.AmountType = new StringMap() { Name = string.Empty, Value = -1 }; //Ödeme Tipi } if (p.Contains("new_type")) { _p.VoucherType = new StringMap() { Name = GetOptionsSetTextFromValue(service, "new_payment", "new_type", ((OptionSetValue)p.Attributes["new_type"]).Value), Value = ((OptionSetValue)p.Attributes["new_type"]).Value }; //Ödeme Türü } else { _p.VoucherType = new StringMap() { Name = string.Empty, Value = -1 }; //Ödeme Türü } lstPayments.Add(_p); } returnValue.Success = true; returnValue.ReturnObject = lstPayments; JavaScriptSerializer jSer = new JavaScriptSerializer(); string json = jSer.Serialize(returnValue); return(json); }
public static MsCrmResultObject GetAnnouncementInfo(Guid announcementId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT A.new_announcementId Id ,A.new_name Name ,A.new_content Content ,A.new_imageurl ImageUrl ,CAST({2}.dbo.fn_UTCToTzSpecificLocalTime(A.CreatedOn, us.TimeZoneBias, us.TimeZoneDaylightBias,us.TimeZoneDaylightYear, us.TimeZoneDaylightMonth, us.TimeZoneDaylightDay, us.TimeZoneDaylightHour,us.TimeZoneDaylightMinute, us.TimeZoneDaylightSecond, 0, us.TimeZoneDaylightDayOfWeek,us.TimeZoneStandardBias, us.TimeZoneStandardYear, us.TimeZoneStandardMonth, us.TimeZoneStandardDay,us.TimeZoneStandardHour, us.TimeZoneStandardMinute, us.TimeZoneStandardSecond, 0,us.TimeZoneStandardDayOfWeek) as DATETIME) CreatedOn FROM new_announcement A (NoLock) INNER JOIN SystemUser SU (NoLock) ON SU.SystemUserId = '{1}' INNER JOIN dbo.UserSettingsBase US (NoLock) ON US.SystemUserId =SU.SystemUserId WHERE A.new_announcementId = '{0}' ORDER BY A.CreatedOn DESC"; #endregion DataTable dt = sda.getDataTable(string.Format(query, announcementId, Globals.AdminId, Globals.DatabaseName)); if (dt != null && dt.Rows.Count > 0) { Announcement _announcement = new Announcement(); _announcement.AnnouncementId = (Guid)dt.Rows[0]["Id"]; _announcement.Caption = dt.Rows[0]["Name"] != DBNull.Value ? dt.Rows[0]["Name"].ToString() : string.Empty; _announcement.Description = dt.Rows[0]["Content"] != DBNull.Value ? dt.Rows[0]["Content"].ToString() : string.Empty; _announcement.ImagePath = dt.Rows[0]["ImageUrl"] != DBNull.Value ? dt.Rows[0]["ImageUrl"].ToString() : "no_image_available.png"; if (dt.Rows[0]["CreatedOn"] != DBNull.Value) { _announcement.CreatedOnString = dt.Rows[0]["CreatedOn"] != DBNull.Value ? ((DateTime)dt.Rows[0]["CreatedOn"]).ToString("dd MMMM yyyy ddddd HH:mm", new CultureInfo("tr-TR", false)) : string.Empty; _announcement.CreatedOn = (DateTime)dt.Rows[0]["CreatedOn"]; } #region | GET ATTACHMENTS | MsCrmResultObject attachmentResult = AttachmentFileHelper.GetAnnouncementAttachmentFiles(announcementId, sda); if (attachmentResult.Success) { _announcement.AttachmentFileList = (List<AttachmentFile>)attachmentResult.ReturnObject; } #endregion returnValue.Success = true; returnValue.ReturnObject = _announcement; } else { returnValue.Result = "M026"; //"İlgili duyuruya ait bilgiye ulaşılamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public string Muhasebelestir(string quoteId) { string result = "false"; try { IOrganizationService service = MSCRM.AdminOrgService; Entity quote = service.Retrieve("quote", new Guid(quoteId), new ColumnSet("customerid", "new_financialaccountid", "transactioncurrencyid")); EntityReference customer = quote.Attributes.Contains("customerid") ? (EntityReference)quote["customerid"] : null; EntityReference financialAccount = quote.Attributes.Contains("new_financialaccountid") ? (EntityReference)quote["new_financialaccountid"] : null; EntityReference currency = quote.Attributes.Contains("transactioncurrencyid") ? (EntityReference)quote["transactioncurrencyid"] : null; string customerName = customer.Name; SqlDataAccess sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | UPDATE FINANCIAL ACCOUNT CODE -VOLKAN 08.03.2015 | if (!string.IsNullOrEmpty(customerName) && financialAccount != null && !financialAccount.Name.Contains("329") && currency != null) { char character = customerName[0]; MsCrmResultObject fAccountResult = FinancialAccountHelper.GetFinancialAccountNumberByCharacter(character, sda); if (fAccountResult.Success) { int fAccountCode = (int)fAccountResult.ReturnObject; fAccountCode++; string fAccountCodeLeft = fAccountCode.ToString().PadLeft(5, '0'); Entity fAccount = new Entity("new_financialaccount"); fAccount["new_financialaccountid"] = financialAccount.Id; fAccount["new_financialaccountnumber"] = fAccountCode; fAccount["new_financialaccountcharacter"] = character + ""; fAccount["new_name"] = "329CA20" + (currency.Name == "TL" ? "TRL" : (currency.Name == "Euro" ? "EUR" : currency.Name)) + character + fAccountCodeLeft; service.Update(fAccount); } else { throw new Exception(fAccountResult.Result); } } #endregion #region | SET GROUP CODE | if (customer.LogicalName == "contact") { if (!string.IsNullOrEmpty(customerName) && !ContactHelper.CheckContactHasGroupCode(customer.Id, sda).Success) { char character = customerName[0]; MsCrmResultObject groupCodeResult = ContactHelper.GetContactGroupCodeByCharacter(character, sda); if (groupCodeResult.Success) { int groupCode = (int)groupCodeResult.ReturnObject; groupCode++; string groupCodeLeft = groupCode.ToString().PadLeft(4, '0'); Entity entContact = new Entity("contact"); entContact["contactid"] = customer.Id; entContact["new_groupcodenumber"] = groupCode; entContact["new_groupcodecharacter"] = character + ""; entContact["new_groupcode"] = "CRM" + "-" + character + groupCodeLeft; service.Update(entContact); } else { throw new Exception(groupCodeResult.Result); } } } if (customer.LogicalName == "account") { if (!string.IsNullOrEmpty(customerName) && !AccountHelper.CheckAccountHasGroupCode(customer.Id, sda).Success) { char character = customerName[0]; MsCrmResultObject groupCodeResult = AccountHelper.GetAccountGroupCodeByCharacter(character, sda); if (groupCodeResult.Success) { int groupCode = (int)groupCodeResult.ReturnObject; groupCode++; string groupCodeLeft = groupCode.ToString().PadLeft(4, '0'); Entity entAccount = new Entity("account"); entAccount["accountid"] = customer.Id; entAccount["new_groupcodenumber"] = groupCode; entAccount["new_groupcodecharacter"] = character + ""; entAccount["new_groupcode"] = "CRM" + "-" + character + groupCodeLeft; service.Update(entAccount); } else { throw new Exception(groupCodeResult.Result); } } } #endregion #region | QUERY UPDATE STATUS| string sqlQuery = @"UPDATE Quote SET StatusCode=@StatusCode, ModifiedOn=GETUTCDATE() WHERE QuoteId='{0}'" ; #endregion sda.ExecuteNonQuery(string.Format(sqlQuery, quoteId), new SqlParameter[] { new SqlParameter("StatusCode", (int)QuoteStatus.MuhasebeyeAktarıldı) }); #region | QUERY UPDATE LOGO TRANSFER | sqlQuery = string.Empty; sqlQuery = @"UPDATE Quote SET new_islogotransferred=@Islogotransferred WHERE QuoteId='{0}'" ; #endregion sda.ExecuteNonQuery(string.Format(sqlQuery, quoteId), new SqlParameter[] { new SqlParameter("Islogotransferred", 1) }); result = "true"; } catch (Exception) { result = "false"; } return(result); }
public static MsCrmResultObject GetUserFriendList(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"--ARKADAŞLARIM SELECT u.new_userId AS UserId ,u.new_name AS UserName ,u.new_imageurl AS ImageUrl ,c.FullName ,A.UserType ,c.JobTitle FROM ( SELECT CASE WHEN f.new_partyoneId!='{1}' THEN f.new_partyoneId ELSE f.new_partytwoId END AS UserId ,1 AS UserType FROM new_friendship AS f (NOLOCK) WHERE f.new_portalId='{0}' AND f.statecode=0 AND ( f.new_partyoneId='{1}' OR f.new_partytwoId='{1}' ) UNION ALL SELECT r.new_touserId AS UserId ,2 AS UserType FROM new_friendshiprequest AS r (NOLOCK) WHERE r.new_portalId='{0}' AND r.statecode=0 AND r.new_fromuserId='{1}' UNION ALL SELECT r.new_fromuserId AS UserId ,3 AS UserType FROM new_friendshiprequest AS r (NOLOCK) WHERE r.new_portalId='{0}' AND r.statecode=0 AND r.new_touserId='{1}' ) AS A JOIN new_user AS u (NOLOCK) ON u.new_userId=A.UserId AND u.statecode=0 AND u.statuscode=1 --Active JOIN Contact AS c (NOLOCK) ON c.ContactId=u.new_contactId"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId)); if (dt != null && dt.Rows.Count > 0) { List<UserFriends> lstUser = new List<UserFriends>(); for (int i = 0; i < dt.Rows.Count; i++) { UserFriends uf = new UserFriends() { UserId = (Guid)dt.Rows[i]["UserId"], UserName = dt.Rows[i]["UserName"].ToString(), FullName = dt.Rows[i]["FullName"].ToString(), UserType = Convert.ToInt32(dt.Rows[i]["UserType"]), ImageUrl = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : "nouserprofile.jpg", JobTitle = dt.Rows[i]["JobTitle"] != DBNull.Value ? dt.Rows[i]["JobTitle"].ToString() : "---" }; lstUser.Add(uf); } returnValue.Success = true; returnValue.ReturnObject = lstUser; } else { returnValue.Success = false; returnValue.Result = "M045"; //"Harhangi bir arkadaşlık işleminiz yok!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetGiftReuqestListByStatus(Guid portalId, GiftStatus giftStatus, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @" SELECT pc.new_giftrequestId AS Id ,pc.new_name AS Name ,pc.new_potalid AS PortalId ,pc.new_potalidName AS PortalIdName ,'new_portal' AS PortalIdTypeName ,pc.new_userid AS UserId ,pc.new_useridName AS UserIdName ,'new_user' AS UserIdTypeName ,pc.new_giftid AS GiftId ,pc.new_giftidName AS GiftIdName ,'new_gift' AS GiftIdTypeName ,pc.new_point AS Point ,pc.statuscode AS Status ,pc.CreatedOn FROM new_giftrequest AS pc (NOLOCK) WHERE pc.new_potalid = '{0}' AND pc.statuscode={1} --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, ((int)giftStatus)).ToString()); if (dt.Rows.Count > 0) { List<UserGiftRequest> giftList = dt.ToList<UserGiftRequest>(); returnValue.Success = true; returnValue.ReturnObject = giftList; } else { returnValue.Success = false; returnValue.Result = "Hediye kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetPortalInfo(Guid portalId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT b.new_portalId AS Id ,b.new_name AS Name --,b.new_imageurl AS [Image] ,b.new_languageId AS LanguageId ,b.new_languageIdName AS LanguageIdName ,b.statuscode AS StatusCode FROM new_portal AS b (NOLOCK) WHERE b.new_portalId='{0}'" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId)); if (dt != null && dt.Rows.Count > 0) { PortalInfo _portal = new PortalInfo(); _portal.Id = (Guid)dt.Rows[0]["Id"]; _portal.Name = dt.Rows[0]["Name"].ToString(); _portal.StatusCode = (int)dt.Rows[0]["StatusCode"]; //_portal.ImagePath = dt.Rows[0]["Image"] != DBNull.Value ? dt.Rows[0]["Image"].ToString() : "no_portallogo.png"; if (dt.Rows[0]["LanguageId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["LanguageId"], Name = dt.Rows[0]["LanguageIdName"].ToString() }; _portal.Language = er; } MsCrmResult portalLogo = PortalHelper.GetPortalLogoAnnotationId(_portal.Id, sda); if (portalLogo.Success) { _portal.LogoImage = AnnotationHelper.GetAnnotationDetail(portalLogo.CrmId, sda); } MsCrmResult portalLoginImage = PortalHelper.GetPortalLoginAnnotationId(_portal.Id, sda); if (portalLoginImage.Success) { _portal.PortalLoginImage = AnnotationHelper.GetAnnotationDetail(portalLoginImage.CrmId, sda); } returnValue.Success = true; returnValue.ReturnObject = _portal; } else { returnValue.Success = true; returnValue.Result = "M005"; //"Portal bilgisi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetGiftCategoryList(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT DISTINCT E.new_giftcategoryId AS Id ,E.new_name Name ,E.new_portalid PortalId ,E.new_portalidName PortalIdName ,'new_portal' AS PortalIdTypeName ,E.new_imageurl AS ImageUrl FROM new_giftcategory AS E (NOLOCK) JOIN new_new_user_new_role AS UR (NOLOCK) ON UR.new_userid='{1}' JOIN new_role AS RD (NOLOCK) ON RD.new_roleId=UR.new_roleid AND Rd.statecode=0 AND RD.statuscode=1 --Active JOIN new_new_giftcategory_new_role AS ERDF (NOLOCK) ON ERDF.new_giftcategoryid =E.new_giftcategoryId AND ERDF.new_roleid=RD.new_roleId WHERE E.new_portalid = '{0}' AND E.statuscode=1 --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId)); if (dt.Rows.Count > 0) { List<GiftCategory> giftCategoryList = dt.ToList<GiftCategory>(); returnValue.Success = true; returnValue.ReturnObject = giftCategoryList; } else { returnValue.Success = false; returnValue.Result = "Hediye kategori kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject SelectSurvey(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); bool isLimitOver = false; try { #region | CHECK LIMIT | List<ScoreLimit> lstLimits = new List<ScoreLimit>(); MsCrmResultObject limitRes = ScoreHelper.GetScoreLimitsByType(ScoreType.Survey, sda); if (limitRes.Success) { lstLimits = (List<ScoreLimit>)limitRes.ReturnObject; for (int i = 0; i < lstLimits.Count; i++) { int recCount = 0; DateTime start = GeneralHelper.GetStartDateByScorePeriod(lstLimits[i].Period); DateTime end = GeneralHelper.GetEndDateByScorePeriod(lstLimits[i].Period); recCount = SurveyHelper.GetUserSurveyAnswerCount(portalId, portalUserId, start, end, sda); if (lstLimits[i].Frequency <= recCount) { returnValue.Result = "Anket cevaplama limitiniz dolmuştur.<br /> Limitler hakkında bilgiye Puanlarım bölümünden ulaşabilirsiniz."; isLimitOver = true; break; } } } if (isLimitOver) { return returnValue; } #endregion #region | SQL QUERY | string sqlQuery = @"DECLARE @Date DATETIME = GETUTCDATE() SELECT DISTINCT E.new_surveyId Id FROM new_survey AS E (NOLOCK) JOIN new_new_user_new_role AS UR (NOLOCK) ON UR.new_userid='{1}' JOIN new_role AS RD (NOLOCK) ON RD.new_roleId=UR.new_roleid AND Rd.statecode=0 AND RD.statuscode=1 --Active JOIN new_new_survey_new_role AS ERDF (NOLOCK) ON ERDF.new_surveyid =E.new_surveyId AND ERDF.new_roleid =RD.new_roleId JOIN dbo.UserSettingsBase US (NOLOCK) ON US.SystemUserId ='{2}' WHERE @Date BETWEEN E.new_startdate AND E.new_enddate AND E.new_portalId = '{0}' AND E.statuscode=1 --Active AND E.new_surveyId NOT IN ( SELECT a.new_surveyId FROM new_surveyanswer AS a (NOLOCK) WHERE a.new_surveyId =E.new_surveyId AND a.new_userId='{1}' AND a.statecode=0 )"; #endregion DataTable dt = sda.getDataTable(string.Format(sqlQuery, portalId, portalUserId, Globals.AdminId)); if (dt.Rows.Count > 0) { returnValue = SurveyHelper.GetSurveyInfo((Guid)dt.Rows[0]["Id"], sda); } else { returnValue.Result = "M052"; //"Herhangi bir anket kaydı bulunamadı."; } } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetUserFriendList(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"--ARKADAŞLARIM SELECT u.new_userId AS UserId ,u.new_name AS UserName ,u.new_imageurl AS ImageUrl ,c.FullName ,A.UserType ,c.JobTitle FROM ( SELECT CASE WHEN f.new_partyoneId!='{1}' THEN f.new_partyoneId ELSE f.new_partytwoId END AS UserId ,1 AS UserType FROM new_friendship AS f (NOLOCK) WHERE f.new_portalId='{0}' AND f.statecode=0 AND ( f.new_partyoneId='{1}' OR f.new_partytwoId='{1}' ) UNION ALL SELECT r.new_touserId AS UserId ,2 AS UserType FROM new_friendshiprequest AS r (NOLOCK) WHERE r.new_portalId='{0}' AND r.statecode=0 AND r.new_fromuserId='{1}' UNION ALL SELECT r.new_fromuserId AS UserId ,3 AS UserType FROM new_friendshiprequest AS r (NOLOCK) WHERE r.new_portalId='{0}' AND r.statecode=0 AND r.new_touserId='{1}' ) AS A JOIN new_user AS u (NOLOCK) ON u.new_userId=A.UserId AND u.statecode=0 AND u.statuscode=1 --Active JOIN Contact AS c (NOLOCK) ON c.ContactId=u.new_contactId" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId)); if (dt != null && dt.Rows.Count > 0) { List <UserFriends> lstUser = new List <UserFriends>(); for (int i = 0; i < dt.Rows.Count; i++) { UserFriends uf = new UserFriends() { UserId = (Guid)dt.Rows[i]["UserId"], UserName = dt.Rows[i]["UserName"].ToString(), FullName = dt.Rows[i]["FullName"].ToString(), UserType = Convert.ToInt32(dt.Rows[i]["UserType"]), ImageUrl = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : "nouserprofile.jpg", JobTitle = dt.Rows[i]["JobTitle"] != DBNull.Value ? dt.Rows[i]["JobTitle"].ToString() : "---" }; lstUser.Add(uf); } returnValue.Success = true; returnValue.ReturnObject = lstUser; } else { returnValue.Success = false; returnValue.Result = "M045"; //"Harhangi bir arkadaşlık işleminiz yok!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | Service | if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService adminService = serviceFactory.CreateOrganizationService(Globals.AdministratorId); OrganizationServiceContext orgContext = new OrganizationServiceContext(adminService); #region |DEFINE IMAGE IF EXISTS| Entity preImage = null; if (context.PreEntityImages.Contains("PreImage") && context.PreEntityImages["PreImage"] is Entity) { preImage = (Entity)context.PreEntityImages["PreImage"]; } #endregion #endregion Entity entity = (Entity)context.InputParameters["Target"]; if (entity.Contains("new_isupdated") && (bool)entity.Attributes["new_isupdated"]) { PaymentHelper.UpdateAmount(entity, preImage, adminService); } if (entity.Contains("new_paymentamount")) { Guid quoteId = preImage.GetAttributeValue <EntityReference>("new_quoteid").Id; string sqlQuery = @"SELECT TOP 1 SUBSTRING(p.new_vnumber,(len(p.new_vnumber)-2),len(p.new_vnumber)) as lastNumber FROM new_payment P (NOLOCK) WHERE P.new_quoteid ='{0}' and P.new_vnumber IS NOT NULL ORDER BY CONVERT(int ,SUBSTRING(p.new_vnumber,(len(p.new_vnumber)-2),len(p.new_vnumber))) DESC"; sqlQuery = string.Format(sqlQuery, quoteId); DataTable dt = sda.getDataTable(sqlQuery); int lastNumber = 0; string voucherNumber = dt.Rows.Count > 0 ? dt.Rows[0]["lastNumber"] != DBNull.Value ? dt.Rows[0]["lastNumber"].ToString() : string.Empty : string.Empty; if (voucherNumber != string.Empty) { lastNumber = Convert.ToInt32(voucherNumber.Substring(voucherNumber.Length - 3)); } Entity quote = adminService.Retrieve("quote", quoteId, new ColumnSet(true)); entity["new_vnumber"] = quote.GetAttributeValue <string>("new_contractnumber") + "." + (lastNumber + 1).ToString().PadLeft(3, '0'); entity["new_isupdated"] = false; } PaymentTypes type = entity.Attributes.Contains("new_type") ? (PaymentTypes)((OptionSetValue)entity["new_type"]).Value : preImage.Attributes.Contains("new_type") ? (PaymentTypes)((OptionSetValue)preImage["new_type"]).Value : PaymentTypes.Bos; #region | PRE PAYMENT PROCESS | if (type == PaymentTypes.KaporaOdemesi) { #region | MÜŞTERİ İLGİLİ KİŞİ İSE | EntityReference _c = entity.Attributes.Contains("new_contactid") ? (EntityReference)entity["new_contactid"] : preImage.Attributes.Contains("new_contactid") ? (EntityReference)preImage["new_contactid"] : null; if (_c != null) { MsCrmResultObject contactResult = ContactHelper.GetContactDetail(_c.Id, sda); if (contactResult.Success) { Contact _contact = (Contact)contactResult.ReturnObject; if (_contact.Nationality.Name == "TC") { MsCrmResult identityControl = GeneralHelper.CheckIdentityNumber(_contact.IdentityNumber); if (!identityControl.Success) { throw new Exception(identityControl.Result); } } } } #endregion #region | MÜŞTERİ FİRMA İSE | EntityReference acc = entity.Attributes.Contains("new_accountid") ? (EntityReference)entity["new_accountid"] : preImage.Attributes.Contains("new_accountid") ? (EntityReference)preImage["new_accountid"] : null; if (acc != null) { MsCrmResultObject accountResult = AccountHelper.GetAccountDetail(acc.Id, sda); if (accountResult.Success) { Account _account = (Account)accountResult.ReturnObject; if (string.IsNullOrEmpty(_account.TaxNumber)) { throw new Exception("Firma vergi numarası boş olamaz!"); } } } #endregion } #endregion }
public static MsCrmResultObject GetFriendshipRequestInfo(Guid requestId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT fr.new_friendshiprequestId AS Id ,fr.new_name AS Name ,fr. new_fromuserId AS FromId ,new_fromuserIdName AS fromIdName ,fr.new_touserId AS ToId ,fr.new_touserIdName AS ToIdName ,fr.new_portalId AS PortalId ,fr.new_portalIdName AS PortalIdName FROM new_friendshiprequest AS fr (NOLOCK) WHERE fr.new_friendshiprequestId='{0}'" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, requestId)); if (dt != null && dt.Rows.Count > 0) { FriendshipRequest _request = new FriendshipRequest(); _request.Id = (Guid)dt.Rows[0]["Id"]; if (dt.Rows[0]["Name"] != DBNull.Value) { _request.Name = dt.Rows[0]["Name"].ToString(); } if (dt.Rows[0]["PortalId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["PortalId"], Name = dt.Rows[0]["PortalIdName"].ToString(), LogicalName = "new_portal" }; _request.Portal = er; } if (dt.Rows[0]["FromId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["FromId"], Name = dt.Rows[0]["FromIdName"].ToString(), LogicalName = "new_user" }; _request.From = er; } if (dt.Rows[0]["ToId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["ToId"], Name = dt.Rows[0]["ToIdName"].ToString(), LogicalName = "new_user" }; _request.To = er; } returnValue.Success = true; returnValue.ReturnObject = _request; } else { returnValue.Success = false; returnValue.Result = "M042"; //"Arkadaşlık isteğine ait bir bilgi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetGiftList(Guid portalId, Guid portalUserId, Guid categoryId, string sortType, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @" SELECT DISTINCT E.new_giftId Id ,E.new_name Name ,E.new_summary Summary ,E.new_content Content ,E.new_imageurl ImageUrl ,E.new_giftcode AS GiftCode ,E.new_stock AS Stock ,E.new_portalid AS PortalId ,E.new_portalidName AS PortalIdName ,'new_portal' AS PortalIdTypeName ,E.new_giftcategoryid AS CategoryId ,E.new_giftcategoryidName AS CategoryIdName ,'new_giftcategory' AS CategoryIdTypeName ,E.new_point AS Point FROM new_gift AS E (NOLOCK) JOIN new_new_user_new_role AS UR (NOLOCK) ON UR.new_userid='{1}' JOIN new_role AS RD (NOLOCK) ON RD.new_roleId=UR.new_roleid AND Rd.statecode=0 AND RD.statuscode=1 --Active JOIN new_new_gift_new_role AS ERDF (NOLOCK) ON ERDF.new_giftid=E.new_giftId AND ERDF.new_roleid =RD.new_roleId WHERE E.new_giftcategoryid='{2}' AND E.new_portalid = '{0}' AND E.statuscode=1 --Active ORDER BY E.new_point " + sortType; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, portalUserId, categoryId)); if (dt.Rows.Count > 0) { List <Gift> giftList = dt.ToList <Gift>(); returnValue.Success = true; returnValue.ReturnObject = giftList; } else { returnValue.Success = false; returnValue.Result = "Hediye kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetPaymentDetail(Guid paymentId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT P.new_paymentId Id ,P.new_name Name ,P.new_contactid ContactId ,P.new_contactidName ContactIdName ,P.new_quoteid QuoteId ,P.new_quoteidName QuoteIdName ,P.transactioncurrencyId CurrencyId ,P.transactioncurrencyIdName CurrencyIdName ,P.ownerId OwnerId ,P.ownerIdName OwnerIdName ,P.new_paymentamount PaymentAmount ,P.new_type PaymentType ,P.new_itype PaymentCashType ,P.new_date PaymentDate ,P.CreatedOn FROM new_payment P WITH (NOLOCK) WHERE P.new_paymentId = '{0}'" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, paymentId)); if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Payment _payment = new Payment(); _payment.PaymentId = (Guid)dt.Rows[i]["Id"]; if (dt.Rows[i]["ContactId"] != DBNull.Value) { _payment.Contact = new EntityReference() { Id = (Guid)dt.Rows[i]["ContactId"], Name = dt.Rows[i]["ContactIdName"].ToString(), LogicalName = "contact" }; } if (dt.Rows[i]["QuoteId"] != DBNull.Value) { _payment.Quote = new EntityReference() { Id = (Guid)dt.Rows[i]["QuoteId"], Name = dt.Rows[i]["QuoteIdName"].ToString(), LogicalName = "quote" }; } if (dt.Rows[i]["CurrencyId"] != DBNull.Value) { _payment.Currency = new EntityReference() { Id = (Guid)dt.Rows[i]["CurrencyId"], Name = dt.Rows[i]["CurrencyIdName"].ToString(), LogicalName = "transactioncurrency" }; } if (dt.Rows[i]["OwnerId"] != DBNull.Value) { _payment.Owner = new EntityReference() { Id = (Guid)dt.Rows[i]["OwnerId"], Name = dt.Rows[i]["OwnerIdName"].ToString(), LogicalName = "systemuser" }; } _payment.PaymentDateString = dt.Rows[i]["PaymentDate"] != DBNull.Value ? ((DateTime)dt.Rows[i]["PaymentDate"]).ToLocalTime().ToString("dd.MM.yyyy") : ""; _payment.CreatedOnString = dt.Rows[i]["CreatedOn"] != DBNull.Value ? ((DateTime)dt.Rows[i]["CreatedOn"]).ToLocalTime().ToString("dd.MM.yyyy HH:mm") : ""; if (dt.Rows[i]["PaymentAmount"] != DBNull.Value) { _payment.PaymentAmount = (decimal)dt.Rows[i]["PaymentAMount"]; } if (dt.Rows[i]["PaymentType"] != DBNull.Value) { _payment.PaymentType = (PaymentTypes)dt.Rows[i]["PaymentType"]; } if (dt.Rows[i]["PaymentCashType"] != DBNull.Value) { _payment.PaymentCashType = (PaymentCashTypes)dt.Rows[i]["PaymentCashType"]; } if (dt.Rows[i]["PaymentDate"] != DBNull.Value) { _payment.PaymentDate = ((DateTime)dt.Rows[i]["PaymentDate"]).ToLocalTime(); } if (dt.Rows[i]["CreatedOn"] != DBNull.Value) { _payment.CreatedOnDate = ((DateTime)dt.Rows[i]["CreatedOn"]).ToLocalTime(); } returnValue.Success = true; returnValue.ReturnObject = _payment; } } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetScoreLimitsByType(ScoreType scoreType, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT sl.new_scorelimitId AS Id ,sl.new_name AS Name ,sl.new_scoretype AS ScoreType ,sl.new_frequency AS Frequency ,sl.new_point AS Point ,sl.new_scoreperiod AS Period FROM new_scorelimit AS sl (NOLOCK) WHERE sl.new_scoretype=@ScoreType --Sisteme giriş AND sl.statecode=0 AND sl.statuscode=1 --Aktif ORDER BY sl.new_scoreperiod ASC"; #endregion SqlParameter[] parameters = { new SqlParameter("@ScoreType",(int)scoreType) }; DataTable dt = sda.getDataTable(query, parameters); if (dt != null && dt.Rows.Count > 0) { List<ScoreLimit> returnList = new List<ScoreLimit>(); for (int i = 0; i < dt.Rows.Count; i++) { ScoreLimit _scoreLimit = new ScoreLimit(); _scoreLimit.Id = (Guid)dt.Rows[i]["Id"]; _scoreLimit.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; _scoreLimit.ScoreType = (ScoreType)(int)dt.Rows[i]["ScoreType"]; _scoreLimit.Period = (ScorePeriod)(int)dt.Rows[i]["Period"]; _scoreLimit.Point = (int)dt.Rows[i]["Point"]; _scoreLimit.Frequency = (int)dt.Rows[i]["Frequency"]; returnList.Add(_scoreLimit); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Skor Limit kaydı bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public void Execute(IServiceProvider serviceProvider) { SqlDataAccess sda = null; try { sda = new SqlDataAccess(); sda.openConnection(Globals.ConnectionString); #region | SERVICE | IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); #region | Validate Request | //Target yoksa veya Entity tipinde değilse, devam etme. if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } #endregion IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); #endregion Entity entity = (Entity)context.InputParameters["Target"]; #region | VARIABLES | List <ScoreLimit> lstLimits = new List <ScoreLimit>(); EntityReference portal = null; EntityReference user = null; if (entity.Contains("new_portalid") && entity["new_portalid"] != null) { portal = (EntityReference)entity["new_portalid"]; } if (entity.Contains("new_userid") && entity["new_userid"] != null) { user = (EntityReference)entity["new_userid"]; } #endregion MsCrmResultObject limitRes = ScoreHelper.GetScoreLimitsByType(ScoreType.EditEducation, sda); if (limitRes.Success) { lstLimits = (List <ScoreLimit>)limitRes.ReturnObject; for (int i = 0; i < lstLimits.Count; i++) { int recCount = 0; DateTime start = GeneralHelper.GetStartDateByScorePeriod(lstLimits[i].Period); DateTime end = GeneralHelper.GetEndDateByScorePeriod(lstLimits[i].Period); recCount = EducationHelper.GetEducationEditCount(portal.Id, user.Id, start, end, sda); if (lstLimits[i].Frequency >= recCount) { Score sc = new Score() { Point = lstLimits[i].Point, Portal = portal, User = user, ScoreType = ScoreType.EditEducation }; MsCrmResult scoreRes = ScoreHelper.CreateScore(sc, service); break; } } } } catch (Exception ex) { //LOG throw new InvalidPluginExecutionException(ex.Message); } finally { if (sda != null) { sda.closeConnection(); } } }
public static MsCrmResultObject GetMaxFormCodeNumber(SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string sqlQuery = @"SELECT ISNULL(MAX(df.new_formcode),0) AS MaxCode FROM new_discoveryform AS df (NOLOCK)"; #endregion int maxNo = (int)sda.ExecuteScalar(sqlQuery); returnValue.Success = true; returnValue.ReturnObject = maxNo; } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetUserScoreDetails(Guid portalId, Guid portalUserId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT sc.new_scoreId AS Id FROM new_score AS sc (NOLOCK) WHERE sc.new_portalId=@PortalId AND sc.new_userId=@UserId AND sc.StateCode=0 ORDER BY sc.CreatedOn DESC"; #endregion SqlParameter[] parameters = { new SqlParameter("@PortalId",portalId) ,new SqlParameter("@UserId",portalUserId) }; DataTable dt = sda.getDataTable(query, parameters); if (dt != null && dt.Rows.Count > 0) { List<Score> returnList = new List<Score>(); for (int i = 0; i < dt.Rows.Count; i++) { Score _score = ScoreHelper.GetScoreDetail((Guid)dt.Rows[i]["Id"], sda); if (_score != null && _score.Id != Guid.Empty) { returnList.Add(_score); } } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Puan kaydı bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetEntityLikeInfo(Guid entityId, string entityName, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @" DECLARE @LikeCount INT DECLARE @DislikeCount INT SELECT @LikeCount= COUNT(0) FROM new_likerecord AS l (NOLOCK) WHERE l.{1}Id='{0}' AND l.new_liketype=1 AND l.statecode=0 SELECT @DislikeCount= COUNT(0) FROM new_likerecord AS l (NOLOCK) WHERE l.{1}Id='{0}' AND l.new_liketype=0 AND l.statecode=0 SELECT @LikeCount AS LikeCount ,@DislikeCount AS DislikeCount"; #endregion DataTable dt = sda.getDataTable(string.Format(query, entityId, entityName)); if (dt != null && dt.Rows.Count > 0) { List<Education> returnList = new List<Education>(); LikeInfo _like = new LikeInfo(); _like.LikeCount = (int)dt.Rows[0]["LikeCount"]; _like.DislikeCount = (int)dt.Rows[0]["DislikeCount"]; _like.Entity = new EntityReference(entityName, entityId); returnValue.Success = true; returnValue.ReturnObject = _like; } else { returnValue.Success = false; returnValue.Result = "M056"; //"Beğeni kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
private MsCrmResult SendToService(UserGiftRequest request) { MsCrmResult returnValue = new MsCrmResult(); try { string cityCode = string.Empty; MsCrmResultObject resultGetGiftInfo = GiftHelper.GetGiftInfo(request.GiftId.Id, _sda); MsCrmResultObject resultUserInfo = PortalUserHelper.GetPortalUserDetail(request.PortalId.Id, request.UserId.Id, _sda); if (!resultGetGiftInfo.Success) { returnValue.Result = resultGetGiftInfo.Result; return(returnValue); } if (!resultUserInfo.Success) { returnValue.Result = resultUserInfo.Result; return(returnValue); } Gift gift = resultGetGiftInfo.GetReturnObject <Gift>(); PortalUser userInfo = resultUserInfo.GetReturnObject <PortalUser>(); StringBuilder sb = new StringBuilder(); bool checkFailed = false; if (userInfo.ContactInfo.CityId == null) { sb.AppendLine("İl bilgisi eksik"); checkFailed = true; } if (userInfo.ContactInfo.TownId == null) { sb.AppendLine("İlçe bilgisi eksik"); checkFailed = true; } if (string.IsNullOrWhiteSpace(userInfo.ContactInfo.MobilePhone)) { sb.AppendLine("Cep telefonu bilgisi eksik."); checkFailed = true; } TelephoneNumber telNo = ValidationHelper.CheckTelephoneNumber(userInfo.ContactInfo.MobilePhone); if (!telNo.isFormatOK) { sb.AppendLine("Telefon numarası formatı hatalı."); checkFailed = true; } if (checkFailed) { returnValue.Result = sb.ToString(); return(returnValue); } cityCode = ContactHelper.GetCityCode(userInfo.ContactInfo.CityId.Id, _sda); interlinkService.OperactiveOrder oo = new interlinkService.OperactiveOrder(); string result = oo.OrderAdd("Interlink-Service2q2k", Globals.InterlinkPartnerId, DateTime.Now.ToLongDateString() , gift.GiftCode, 1, userInfo.ContactInfo.AddressDetail, userInfo.ContactInfo.CityId.Name, userInfo.ContactInfo.TownId.Name, cityCode , userInfo.ContactInfo.FirstName, userInfo.ContactInfo.LastName, string.Empty, string.Empty , telNo.phoneCode, telNo.phoneNo, userInfo.ContactInfo.Title, request.Id.ToString(), "Portal PUAN KULLANIMI" , Globals.InterlinkCatalogId, userInfo.PortalUserId.ToString()); //result = "0001"; FileLogHelper.LogFunction(this.GetType().Name, "Result:" + result + ",Id:" + request.Id.ToString(), @Globals.FileLogPath); string errorText = string.Empty; bool hasError = GiftHelper.InterlinkOrderErrorCodes.TryGetValue(result, out errorText); if (string.IsNullOrWhiteSpace(errorText)) { returnValue.Result = result; returnValue.Success = true; } else { returnValue.Result = errorText; } } catch (Exception ex) { returnValue.Result = ex.StackTrace; } return(returnValue); }
public MsCrmResultObject GetUserSession(string token) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { var session = HttpContext.Current.Cache[token]; if (session != null) { LoginSession ls = (LoginSession)session; returnValue.Success = true; returnValue.Result = "Session bilgisi çekildi."; returnValue.ReturnObject = ls; } else { returnValue.Result = "M001"; } } catch (Exception ex) { returnValue.Result = ex.Message; } return returnValue; }
private MsCrmResult SendToServiceBirIleri(UserGiftRequest request) { MsCrmResult returnValue = new MsCrmResult(); try { string cityCode = string.Empty; MsCrmResultObject resultGetGiftInfo = GiftHelper.GetGiftInfo(request.GiftId.Id, _sda); MsCrmResultObject resultUserInfo = PortalUserHelper.GetPortalUserDetail(request.PortalId.Id, request.UserId.Id, _sda); if (!resultGetGiftInfo.Success) { returnValue.Result = resultGetGiftInfo.Result; return(returnValue); } if (!resultUserInfo.Success) { returnValue.Result = resultUserInfo.Result; return(returnValue); } Gift gift = resultGetGiftInfo.GetReturnObject <Gift>(); PortalUser userInfo = resultUserInfo.GetReturnObject <PortalUser>(); StringBuilder sb = new StringBuilder(); bool checkFailed = false; if (userInfo.ContactInfo.CityId == null) { sb.AppendLine("İl bilgisi eksik"); checkFailed = true; } if (userInfo.ContactInfo.TownId == null) { sb.AppendLine("İlçe bilgisi eksik"); checkFailed = true; } if (string.IsNullOrWhiteSpace(userInfo.ContactInfo.MobilePhone)) { sb.AppendLine("Cep telefonu bilgisi eksik."); checkFailed = true; } TelephoneNumber telNo = ValidationHelper.CheckTelephoneNumber(userInfo.ContactInfo.MobilePhone); if (!telNo.isFormatOK) { sb.AppendLine("Telefon numarası formatı hatalı."); checkFailed = true; } if (checkFailed) { returnValue.Result = sb.ToString(); return(returnValue); } NameValueCollection formData = new NameValueCollection(); GiftServiceInfo giftServiceInfo = new GiftServiceInfo(); giftServiceInfo.api_key = "6r9ZTok8zp4yZxKq"; formData["api_key"] = "6r9ZTok8zp4yZxKq"; giftServiceInfo.id = request.Id.ToString(); formData["id"] = request.Id.ToString(); giftServiceInfo.created_at = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); formData["created_at"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); giftServiceInfo.name = userInfo.ContactInfo.FirstName; formData["name"] = userInfo.ContactInfo.FirstName; giftServiceInfo.surname = userInfo.ContactInfo.LastName; formData["surname"] = userInfo.ContactInfo.LastName; giftServiceInfo.address = userInfo.ContactInfo.AddressDetail; formData["address"] = userInfo.ContactInfo.AddressDetail; giftServiceInfo.city = userInfo.ContactInfo.CityId.Name; formData["city"] = userInfo.ContactInfo.CityId.Name; giftServiceInfo.district = userInfo.ContactInfo.TownId.Name; formData["district"] = userInfo.ContactInfo.TownId.Name; giftServiceInfo.tc = userInfo.ContactInfo.IdentityNumber; formData["tc"] = userInfo.ContactInfo.IdentityNumber; giftServiceInfo.product_category = gift.CategoryId.Name; formData["product_category"] = gift.CategoryId.Name; giftServiceInfo.product_name = gift.Name; formData["product_name"] = gift.Name; giftServiceInfo.product_quantity = "1"; formData["product_quantity"] = "1"; giftServiceInfo.tel = userInfo.ContactInfo.MobilePhone; formData["tel"] = userInfo.ContactInfo.MobilePhone; giftServiceInfo.status = "Servise Gönderildi"; formData["status"] = "Servise Gönderildi"; //var js = new JavaScriptSerializer(); //string json = js.Serialize(giftServiceInfo); string formDataStr = SerializePostData(formData); ISendGiftRequestService giftReqService = new SendGiftRequestService(); GiftServiceResult serviceResult = giftReqService.SendGiftRequest(formDataStr); FileLogHelper.LogFunction(this.GetType().Name, "Result:" + serviceResult.message + ",Id:" + request.Id.ToString(), @Globals.FileLogPath); string errorText = string.Empty; if (serviceResult.message.ToLower() == "success") { returnValue.Result = serviceResult.message; returnValue.Success = true; } else { returnValue.Result = serviceResult.message; } } catch (Exception ex) { returnValue.Result = ex.StackTrace; } return(returnValue); }
public static MsCrmResultObject GetCubeStatusList(Guid portalId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); DateTime start = GeneralHelper.GetStartDateByScorePeriod(ScorePeriod.Monthly); DateTime end = GeneralHelper.GetEndDateByScorePeriod(ScorePeriod.Monthly); try { #region | SQL QUERY | string query = @"SELECT * INTO #temp FROM ( SELECT * ,DENSE_RANK() OVER (ORDER BY B.TotalPoint DESC) AS Ranking FROM ( SELECT A.UserId ,ISNULL(SUM(A.Point),0) AS TotalPoint FROM ( SELECT DISTINCT u.new_userId AS UserId ,a.new_point AS Point ,a.new_scoreId AS AnswerId FROM new_user AS u (NOLOCK) LEFT JOIN new_score AS a (NOLOCK) ON u.new_userId=a.new_userId --AND --a.CreatedOn BETWEEN @start AND @end AND a.statecode=0 JOIN new_new_user_new_role AS urd (NOLOCK) ON u.new_userId=urd.new_userid JOIN new_role AS rd (NOLOCK) ON urd.new_roleid =rd.new_roleId AND rd.statecode=0 AND rd.statuscode=1 --Active AND rd.new_portalId='{0}' WHERE u.statecode=0 AND u.statuscode=1 --Active ) AS A GROUP BY A.UserId ) AS B ) AS C SELECT t.* ,c.FullName AS UserIdName FROM #temp AS t (NOLOCK) JOIN new_user AS u (NOLOCK) ON t.UserId=u.new_userId JOIN Contact AS c (NOLOCK) ON u.new_contactId =c.ContactId ORDER BY t.Ranking ASC DROP TABLE #temp"; #endregion SqlParameter[] parameters = { new SqlParameter("@start",start) ,new SqlParameter("@end",end) }; DataTable dt = sda.getDataTable(string.Format(query, portalId), parameters); if (dt != null && dt.Rows.Count > 0) { List<UserCubeStatus> returnList = new List<UserCubeStatus>(); for (int i = 0; i < dt.Rows.Count; i++) { UserCubeStatus _cubeStatus = new UserCubeStatus(); if (dt.Rows[i]["UserId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[i]["UserId"], Name = dt.Rows[i]["UserIdName"].ToString() }; _cubeStatus.UserId = er; } _cubeStatus.Point = dt.Rows[i]["TotalPoint"] != DBNull.Value ? Convert.ToInt32(dt.Rows[i]["TotalPoint"]) : 0; _cubeStatus.Rank = dt.Rows[i]["Ranking"] != DBNull.Value ? Convert.ToInt32(dt.Rows[i]["Ranking"]) : 0; returnList.Add(_cubeStatus); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "M033"; //"Soru durum listesi bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetContactInfo(Guid contactId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT C.ContactId ,C.FirstName ,C.LastName ,C.JobTitle ,C.new_functionname FunctionName ,C.AccountId ,C.AccountIdName ,C.EMailAddress1 EmailAddress ,C.MobilePhone ,C.Telephone1 ,C.new_identitynumber AS IdentityNo ,C.GenderCode ,DATEADD(HH,3,C.BirthDate) AS BirthDate ,C.Description ,C.new_cityId AS CityId ,C.new_cityIdName AS CityIdName ,C.new_townId AS TownId ,C.new_townIdName AS TownIdName ,C.new_addressdetail AS AddressDetail ,C.new_markcontact AS MarkContact FROM Contact C (NoLock) WHERE C.ContactId = '{0}' AND C.StateCode = 0" ; #endregion DataTable dt = sda.getDataTable(string.Format(query, contactId)); if (dt != null && dt.Rows.Count > 0) { Contact _contact = new Contact(); _contact.ContactId = (Guid)dt.Rows[0]["ContactId"]; _contact.FirstName = dt.Rows[0]["FirstName"] != DBNull.Value ? dt.Rows[0]["FirstName"].ToString() : string.Empty; _contact.LastName = dt.Rows[0]["LastName"] != DBNull.Value ? dt.Rows[0]["LastName"].ToString() : string.Empty; _contact.Title = dt.Rows[0]["JobTitle"] != DBNull.Value ? dt.Rows[0]["JobTitle"].ToString() : string.Empty; _contact.FunctionName = dt.Rows[0]["FunctionName"] != DBNull.Value ? dt.Rows[0]["FunctionName"].ToString() : string.Empty; _contact.EmailAddress = dt.Rows[0]["EmailAddress"] != DBNull.Value ? dt.Rows[0]["EmailAddress"].ToString() : string.Empty; _contact.MobilePhone = dt.Rows[0]["MobilePhone"] != DBNull.Value ? dt.Rows[0]["MobilePhone"].ToString() : string.Empty; _contact.WorkPhone = dt.Rows[0]["Telephone1"] != DBNull.Value ? dt.Rows[0]["Telephone1"].ToString() : string.Empty; _contact.IdentityNumber = dt.Rows[0]["IdentityNo"] != DBNull.Value ? dt.Rows[0]["IdentityNo"].ToString() : string.Empty; if (dt.Rows[0]["GenderCode"] != DBNull.Value) { _contact.Gender = (int)dt.Rows[0]["GenderCode"]; } if (dt.Rows[0]["BirthDate"] != DBNull.Value) { _contact.BirthDate = ((DateTime)dt.Rows[0]["BirthDate"]).ToLocalTime(); } _contact.Description = dt.Rows[0]["Description"] != DBNull.Value ? dt.Rows[0]["Description"].ToString() : string.Empty; _contact.MarkContact = dt.Rows[0]["MarkContact"] != DBNull.Value ? (bool)dt.Rows[0]["MarkContact"] : false; if (dt.Rows[0]["AccountId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "account"; er.Id = (Guid)dt.Rows[0]["AccountId"]; if (dt.Rows[0]["AccountIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["AccountIdName"].ToString(); } _contact.ParentAccount = er; } if (dt.Rows[0]["CityId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_city"; er.Id = (Guid)dt.Rows[0]["CityId"]; if (dt.Rows[0]["CityIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["CityIdName"].ToString(); } _contact.CityId = er; } if (dt.Rows[0]["TownId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_town"; er.Id = (Guid)dt.Rows[0]["TownId"]; if (dt.Rows[0]["TownIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["TownIdName"].ToString(); } _contact.TownId = er; } if (dt.Rows[0]["AccountId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "account"; er.Id = (Guid)dt.Rows[0]["AccountId"]; if (dt.Rows[0]["AccountIdName"] != DBNull.Value) { er.Name = dt.Rows[0]["AccountIdName"].ToString(); } _contact.ParentAccount = er; } _contact.AddressDetail = dt.Rows[0]["AddressDetail"] != DBNull.Value ? dt.Rows[0]["AddressDetail"].ToString() : string.Empty; returnValue.ReturnObject = _contact; returnValue.Success = true; } else { returnValue.Success = false; returnValue.Result = "M007"; //"No contact info found!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetQuestionLevels(Guid portalId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT ql.new_questionlevelId AS Id ,ql.new_name AS Name ,ql.new_portalId AS PortalId ,ql.new_portalIdName AS PortalIdName ,ql.new_imageurl AS ImageUrl FROM new_questionlevel AS ql (NOLOCK) WHERE ql.new_portalId='{0}' AND ql.statecode=0 AND ql.statuscode=1 --Active"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId)); if (dt != null && dt.Rows.Count > 0) { List<QuestionLevel> returnList = new List<QuestionLevel>(); for (int i = 0; i < dt.Rows.Count; i++) { QuestionLevel _questionLevel = new QuestionLevel(); _questionLevel.Id = (Guid)dt.Rows[i]["Id"]; _questionLevel.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; _questionLevel.ImagePath = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : "no_image_available.png"; if (dt.Rows[i]["PortalId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[i]["PortalId"], Name = dt.Rows[i]["PortalIdName"].ToString() }; _questionLevel.Portal = er; } returnList.Add(_questionLevel); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "M027"; //"Herhangi bir soru seviyesi tanımı bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject SearchContact(Guid portalId, Guid userId, string key, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT DISTINCT u.new_userId AS UserId ,u.new_name AS UserName ,u.new_imageurl AS ImageUrl ,c.FullName ,c.JobTitle ,CASE WHEN fr.new_friendshipId IS NOT NULL THEN 1 ELSE 0 END AS IsFriend FROM new_user AS u (NOLOCK) JOIN new_new_user_new_role AS ur (NOLOCK) ON ur.new_userid=u.new_userId JOIN new_role AS r (NOLOCK) ON ur.new_roleid=r.new_roleId AND r.statecode=0 AND r.statuscode=1 --Active AND r.new_portalId='{0}' JOIN Contact AS c (NOLOCK) ON u.new_contactId=c.ContactId LEFT JOIN new_friendship AS fr (NOLOCK) ON '{2}' IN (fr.new_partyOneId,fr.new_partyTwoId) AND u.new_userId IN (fr.new_partyOneId,fr.new_partyTwoId) AND fr.statecode=0 WHERE u.statecode=0 AND u.new_userId!='{2}' AND u.statuscode=1 --Active AND c.FullName LIKE '%{1}%'"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, key, userId)); if (dt != null && dt.Rows.Count > 0) { List <UserFriends> lstUser = new List <UserFriends>(); for (int i = 0; i < dt.Rows.Count; i++) { UserFriends uf = new UserFriends() { UserId = (Guid)dt.Rows[i]["UserId"], UserName = dt.Rows[i]["UserName"].ToString(), FullName = dt.Rows[i]["FullName"].ToString(), ImageUrl = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : "nouserprofile.jpg", JobTitle = dt.Rows[i]["JobTitle"] != DBNull.Value ? dt.Rows[i]["JobTitle"].ToString() : "---", UserType = (int)dt.Rows[i]["IsFriend"] }; lstUser.Add(uf); } returnValue.Success = true; returnValue.ReturnObject = lstUser; } else { returnValue.Success = false; returnValue.Result = "M057"; //"Herhangi bir kayıt bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject SelectQuestion(Guid portalUserId, Guid portalId, Guid questionLevelId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT TOP 1 q.new_questionId AS QUestionId FROM new_question AS q (NOLOCK) WHERE q.new_portalId='{0}' AND q.new_questionlevelId='{1}' AND q.statecode=0 AND q.statuscode=1 --Active AND q.new_questionId NOT IN ( SELECT q.new_questionId FROM new_questionanswers AS a (NOLOCK) WHERE a.new_questionId=q.new_questionId AND a.new_userId='{2}' AND a.new_point IS NOT NULL AND a.new_point != 0 AND a.statecode=0 ) ORDER BY NEWID()"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, questionLevelId, portalUserId)); if (dt != null && dt.Rows.Count > 0) { returnValue = GetQuestionInfo((Guid)dt.Rows[0]["QuestionId"], sda); } else { returnValue.Success = false; returnValue.Result = "M029"; //"Soru seviyesine ait uygun soru bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetPortalInfo(Guid portalId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT b.new_portalId AS Id ,b.new_name AS Name --,b.new_imageurl AS [Image] ,b.new_languageId AS LanguageId ,b.new_languageIdName AS LanguageIdName ,b.statuscode AS StatusCode FROM new_portal AS b (NOLOCK) WHERE b.new_portalId='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId)); if (dt != null && dt.Rows.Count > 0) { PortalInfo _portal = new PortalInfo(); _portal.Id = (Guid)dt.Rows[0]["Id"]; _portal.Name = dt.Rows[0]["Name"].ToString(); _portal.StatusCode = (int)dt.Rows[0]["StatusCode"]; //_portal.ImagePath = dt.Rows[0]["Image"] != DBNull.Value ? dt.Rows[0]["Image"].ToString() : "no_portallogo.png"; if (dt.Rows[0]["LanguageId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["LanguageId"], Name = dt.Rows[0]["LanguageIdName"].ToString() }; _portal.Language = er; } MsCrmResult portalLogo = PortalHelper.GetPortalLogoAnnotationId(_portal.Id, sda); if (portalLogo.Success) { _portal.LogoImage = AnnotationHelper.GetAnnotationDetail(portalLogo.CrmId, sda); } MsCrmResult portalLoginImage = PortalHelper.GetPortalLoginAnnotationId(_portal.Id, sda); if (portalLoginImage.Success) { _portal.PortalLoginImage = AnnotationHelper.GetAnnotationDetail(portalLoginImage.CrmId, sda); } returnValue.Success = true; returnValue.ReturnObject = _portal; } else { returnValue.Success = true; returnValue.Result = "M005"; //"Portal bilgisi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject SearchContact(Guid portalId, Guid userId, string key, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT DISTINCT u.new_userId AS UserId ,u.new_name AS UserName ,u.new_imageurl AS ImageUrl ,c.FullName ,c.JobTitle ,CASE WHEN fr.new_friendshipId IS NOT NULL THEN 1 ELSE 0 END AS IsFriend FROM new_user AS u (NOLOCK) JOIN new_new_user_new_role AS ur (NOLOCK) ON ur.new_userid=u.new_userId JOIN new_role AS r (NOLOCK) ON ur.new_roleid=r.new_roleId AND r.statecode=0 AND r.statuscode=1 --Active AND r.new_portalId='{0}' JOIN Contact AS c (NOLOCK) ON u.new_contactId=c.ContactId LEFT JOIN new_friendship AS fr (NOLOCK) ON '{2}' IN (fr.new_partyOneId,fr.new_partyTwoId) AND u.new_userId IN (fr.new_partyOneId,fr.new_partyTwoId) AND fr.statecode=0 WHERE u.statecode=0 AND u.new_userId!='{2}' AND u.statuscode=1 --Active AND c.FullName LIKE '%{1}%'"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, key, userId)); if (dt != null && dt.Rows.Count > 0) { List<UserFriends> lstUser = new List<UserFriends>(); for (int i = 0; i < dt.Rows.Count; i++) { UserFriends uf = new UserFriends() { UserId = (Guid)dt.Rows[i]["UserId"], UserName = dt.Rows[i]["UserName"].ToString(), FullName = dt.Rows[i]["FullName"].ToString(), ImageUrl = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : "nouserprofile.jpg", JobTitle = dt.Rows[i]["JobTitle"] != DBNull.Value ? dt.Rows[i]["JobTitle"].ToString() : "---", UserType = (int)dt.Rows[i]["IsFriend"] }; lstUser.Add(uf); } returnValue.Success = true; returnValue.ReturnObject = lstUser; } else { returnValue.Success = false; returnValue.Result = "M057"; //"Herhangi bir kayıt bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetScoreLimitsByType(ScoreType scoreType, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT sl.new_scorelimitId AS Id ,sl.new_name AS Name ,sl.new_scoretype AS ScoreType ,sl.new_frequency AS Frequency ,sl.new_point AS Point ,sl.new_scoreperiod AS Period FROM new_scorelimit AS sl (NOLOCK) WHERE sl.new_scoretype=@ScoreType --Sisteme giriş AND sl.statecode=0 AND sl.statuscode=1 --Aktif ORDER BY sl.new_scoreperiod ASC" ; #endregion SqlParameter[] parameters = { new SqlParameter("@ScoreType", (int)scoreType) }; DataTable dt = sda.getDataTable(query, parameters); if (dt != null && dt.Rows.Count > 0) { List <ScoreLimit> returnList = new List <ScoreLimit>(); for (int i = 0; i < dt.Rows.Count; i++) { ScoreLimit _scoreLimit = new ScoreLimit(); _scoreLimit.Id = (Guid)dt.Rows[i]["Id"]; _scoreLimit.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; _scoreLimit.ScoreType = (ScoreType)(int)dt.Rows[i]["ScoreType"]; _scoreLimit.Period = (ScorePeriod)(int)dt.Rows[i]["Period"]; _scoreLimit.Point = (int)dt.Rows[i]["Point"]; _scoreLimit.Frequency = (int)dt.Rows[i]["Frequency"]; returnList.Add(_scoreLimit); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Skor Limit kaydı bulunamadı."; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }
public static MsCrmResultObject GetGraffities(Guid portalId, int commentCount, int startRow, int endRow, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT A.* FROM ( SELECT PG.new_graffitiId GraffitiId ,PG.new_content [Description] ,PG.new_userId PortalUserId ,PG.new_userIdName PortalUserIdName ,PG.new_portalId BrandId ,PG.new_portalIdName BrandIdName ,PG.new_imageurl [Image] ,U.new_imageurl UserImage ,CAST({4}.dbo.fn_UTCToTzSpecificLocalTime(PG.CreatedOn, us.TimeZoneBias, us.TimeZoneDaylightBias,us.TimeZoneDaylightYear, us.TimeZoneDaylightMonth, us.TimeZoneDaylightDay, us.TimeZoneDaylightHour,us.TimeZoneDaylightMinute, us.TimeZoneDaylightSecond, 0, us.TimeZoneDaylightDayOfWeek,us.TimeZoneStandardBias, us.TimeZoneStandardYear, us.TimeZoneStandardMonth, us.TimeZoneStandardDay,us.TimeZoneStandardHour, us.TimeZoneStandardMinute, us.TimeZoneStandardSecond, 0,us.TimeZoneStandardDayOfWeek) as DATETIME) CreatedOn ,ROW_NUMBER() OVER(ORDER BY PG.CreatedOn DESC) AS RowNumber ,( SELECT COUNT(0) FROM new_comment AS c (NOLOCK) WHERE c.new_graffitiId=PG.new_graffitiId ) AS CommentCount ,( SELECT COUNT(0) FROM new_likerecord AS lr (NOLOCK) WHERE lr.new_graffitiId=PG.new_graffitiId ) AS LikeCount FROM new_graffiti PG (NoLock) INNER JOIN new_user U (NoLock) ON PG.new_portalId = '{0}' AND PG.statecode = 0 AND U.new_userId = PG.new_userId INNER JOIN dbo.UserSettingsBase US (NoLock) ON US.SystemUserId ='{1}' WHERE PG.statecode=0 AND PG.statuscode=1 --Active )A WHERE A.RowNumber BETWEEN {2} AND {3} ORDER BY A.RowNumber ASC"; #endregion DataTable dt = sda.getDataTable(string.Format(query, portalId, Globals.AdminId, startRow, endRow, Globals.DatabaseName)); if (dt != null && dt.Rows.Count > 0) { List<Graffiti> returnList = new List<Graffiti>(); for (int i = 0; i < dt.Rows.Count; i++) { Graffiti _graffiti = new Graffiti(); _graffiti.GraffitiId = (Guid)dt.Rows[i]["GraffitiId"]; _graffiti.Description = dt.Rows[i]["Description"] != DBNull.Value ? dt.Rows[i]["Description"].ToString() : string.Empty; _graffiti.ImagePath = dt.Rows[i]["Image"] != DBNull.Value ? dt.Rows[i]["Image"].ToString() : string.Empty; _graffiti.PortalUserImage = dt.Rows[i]["UserImage"] != DBNull.Value ? dt.Rows[i]["UserImage"].ToString() : "nouserprofile.jpg"; _graffiti.CreatedOnString = dt.Rows[i]["CreatedOn"] != DBNull.Value ? ((DateTime)dt.Rows[i]["CreatedOn"]).ToString("dd MMMM yyyy, HH:mm", new CultureInfo("tr-TR", false)) : string.Empty; _graffiti.HasMedia = dt.Rows[i]["Image"] != DBNull.Value ? true : false; _graffiti.LikeCount = (int)dt.Rows[i]["LikeCount"]; _graffiti.CommentCount = (int)dt.Rows[i]["CommentCount"]; if (dt.Rows[i]["CreatedOn"] != DBNull.Value) { _graffiti.CreatedOn = (DateTime)dt.Rows[i]["CreatedOn"]; } if (dt.Rows[i]["PortalUserId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_user"; er.Id = (Guid)dt.Rows[i]["PortalUserId"]; if (dt.Rows[i]["PortalUserIdName"] != DBNull.Value) { er.Name = dt.Rows[i]["PortalUserIdName"].ToString(); } _graffiti.PortalUser = er; } if (dt.Rows[i]["BrandId"] != DBNull.Value) { EntityReference er = new EntityReference(); er.LogicalName = "new_brand"; er.Id = (Guid)dt.Rows[i]["BrandId"]; if (dt.Rows[i]["BrandIdName"] != DBNull.Value) { er.Name = dt.Rows[i]["BrandIdName"].ToString(); } _graffiti.Portal = er; } #region | GET COMMENTS | MsCrmResultObject commentResult = CommentHelper.GetGraffitiComments(_graffiti.GraffitiId, 0, commentCount, sda); //MsCrmResultObject commentResult = CommentHelper.GetGraffitiComments(_graffiti.GraffitiId, sda); if (commentResult.Success) { _graffiti.CommentList = (List<Comment>)commentResult.ReturnObject; } #endregion returnList.Add(_graffiti); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = true; returnValue.Result = "M013"; //"Duvar yazısı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetFriendshipRequestInfo(Guid requestId, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT fr.new_friendshiprequestId AS Id ,fr.new_name AS Name ,fr. new_fromuserId AS FromId ,new_fromuserIdName AS fromIdName ,fr.new_touserId AS ToId ,fr.new_touserIdName AS ToIdName ,fr.new_portalId AS PortalId ,fr.new_portalIdName AS PortalIdName FROM new_friendshiprequest AS fr (NOLOCK) WHERE fr.new_friendshiprequestId='{0}'"; #endregion DataTable dt = sda.getDataTable(string.Format(query, requestId)); if (dt != null && dt.Rows.Count > 0) { FriendshipRequest _request = new FriendshipRequest(); _request.Id = (Guid)dt.Rows[0]["Id"]; if (dt.Rows[0]["Name"] != DBNull.Value) { _request.Name = dt.Rows[0]["Name"].ToString(); } if (dt.Rows[0]["PortalId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["PortalId"], Name = dt.Rows[0]["PortalIdName"].ToString(), LogicalName = "new_portal" }; _request.Portal = er; } if (dt.Rows[0]["FromId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["FromId"], Name = dt.Rows[0]["FromIdName"].ToString(), LogicalName = "new_user" }; _request.From = er; } if (dt.Rows[0]["ToId"] != DBNull.Value) { EntityReference er = new EntityReference() { Id = (Guid)dt.Rows[0]["ToId"], Name = dt.Rows[0]["ToIdName"].ToString(), LogicalName = "new_user" }; _request.To = er; } returnValue.Success = true; returnValue.ReturnObject = _request; } else { returnValue.Success = false; returnValue.Result = "M042"; //"Arkadaşlık isteğine ait bir bilgi bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetAnnouncementList(Guid portalId, Guid portalUserId, int start, int end, SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"DECLARE @Date DATETIME = GETUTCDATE() SELECT * FROM ( SELECT D.* ,COUNT(0) OVER() AS TotalRow FROM ( SELECT B.* ,ROW_NUMBER() OVER(ORDER BY B.CreatedOn DESC) AS RowNumber FROM ( SELECT DISTINCT A.new_announcementId Id ,A.new_name Name ,A.new_content Content ,A.new_imageurl ImageUrl ,CAST({1}.dbo.fn_UTCToTzSpecificLocalTime(A.CreatedOn, us.TimeZoneBias, us.TimeZoneDaylightBias,us.TimeZoneDaylightYear, us.TimeZoneDaylightMonth, us.TimeZoneDaylightDay, us.TimeZoneDaylightHour,us.TimeZoneDaylightMinute, us.TimeZoneDaylightSecond, 0, us.TimeZoneDaylightDayOfWeek,us.TimeZoneStandardBias, us.TimeZoneStandardYear, us.TimeZoneStandardMonth, us.TimeZoneStandardDay,us.TimeZoneStandardHour, us.TimeZoneStandardMinute, us.TimeZoneStandardSecond, 0,us.TimeZoneStandardDayOfWeek) as DATETIME) CreatedOn FROM new_announcement A (NoLock) JOIN new_new_user_new_role AS UR (NOLOCK) ON UR.new_userid='{2}' JOIN new_role AS RD (NOLOCK) ON RD.new_roleId=UR.new_roleid AND Rd.statecode=0 AND RD.statuscode=1 --Active JOIN new_new_announcement_new_role AS ERDF (NOLOCK) ON ERDF.new_announcementid=A.new_announcementId AND ERDF.new_roleid=RD.new_roleId INNER JOIN dbo.UserSettingsBase US (NoLock) ON US.SystemUserId ='{0}' WHERE @Date BETWEEN A.new_startdate AND A.new_enddate AND A.new_portalId='{3}' AND A.StateCode = 0 AND A.StatusCode=1 --Active ) AS B ) AS D ) AS C WHERE C.RowNumber BETWEEN {4} AND {5} ORDER BY C.RowNumber ASC"; #endregion DataTable dt = sda.getDataTable(string.Format(query, Globals.AdminId, Globals.DatabaseName, portalUserId, portalId.ToString(), start.ToString(), end.ToString())); if (dt != null && dt.Rows.Count > 0) { List<Announcement> returnList = new List<Announcement>(); for (int i = 0; i < dt.Rows.Count; i++) { Announcement _announcement = new Announcement(); _announcement.AnnouncementId = (Guid)dt.Rows[i]["Id"]; _announcement.Caption = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; _announcement.Description = dt.Rows[i]["Content"] != DBNull.Value ? dt.Rows[i]["Content"].ToString() : string.Empty; _announcement.ImagePath = dt.Rows[i]["ImageUrl"] != DBNull.Value ? dt.Rows[i]["ImageUrl"].ToString() : string.Empty; if (dt.Rows[i]["TotalRow"] != DBNull.Value) { returnValue.RecordCount = (int)dt.Rows[i]["TotalRow"]; } if (dt.Rows[i]["CreatedOn"] != DBNull.Value) { _announcement.CreatedOn = (DateTime)dt.Rows[i]["CreatedOn"]; _announcement.CreatedOnString = dt.Rows[i]["CreatedOn"] != DBNull.Value ? ((DateTime)dt.Rows[i]["CreatedOn"]).ToString("dd MMMM yyyy ddddd HH:mm", new CultureInfo("tr-TR", false)) : string.Empty; } returnList.Add(_announcement); } returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = true; returnValue.Result = "M025"; //"Duyuru kaydı bulunamadı!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return returnValue; }
public static MsCrmResultObject GetCurrencies(SqlDataAccess sda) { MsCrmResultObject returnValue = new MsCrmResultObject(); try { #region | SQL QUERY | string query = @"SELECT * INTO #TempTable FROM ( SELECT o.BaseCurrencyId AS Id ,o.BaseCurrencyIdName Name ,50 SortNo FROM Organization AS o UNION SELECT t.TransactionCurrencyId AS Id ,CurrencyName AS Name ,1 SortNo FROM TransactionCurrency AS t WHERE t.StateCode=0 )A SELECT B.* FROM ( SELECT T.* ,DENSE_RANK() OVER (PARTITION BY T.Id ORDER BY T.SortNo DESC) AS RankPoint FROM #TempTable T )B WHERE B.RankPoint = 1 ORDER BY B.SortNo DESC DROP TABLE #TempTable " ; #endregion DataTable dt = sda.getDataTable(query); if (dt != null && dt.Rows.Count > 0) { #region | GET CURRENCIES | List <TransactionCurrency> returnList = new List <TransactionCurrency>(); for (int i = 0; i < dt.Rows.Count; i++) { TransactionCurrency _currency = new TransactionCurrency(); _currency.TransactionCurrencyId = (Guid)dt.Rows[i]["Id"]; _currency.Name = dt.Rows[i]["Name"] != DBNull.Value ? dt.Rows[i]["Name"].ToString() : string.Empty; returnList.Add(_currency); } #endregion returnValue.Success = true; returnValue.ReturnObject = returnList; } else { returnValue.Success = false; returnValue.Result = "Sistemde etkin para birimi bulunmamaktadır!"; } } catch (Exception ex) { returnValue.Success = false; returnValue.Result = ex.Message; } return(returnValue); }