Пример #1
0
        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;
        }
Пример #2
0
        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;
        }
Пример #3
0
        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;
        }
Пример #4
0
        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();
                }
            }
        }
Пример #5
0
        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;
        }
Пример #6
0
        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;
        }
Пример #7
0
        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();
            }
        }
Пример #8
0
        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);
        }
Пример #9
0
        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;
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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();
                }
            }
        }
Пример #13
0
        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();
                }
            }
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        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;
        }
Пример #18
0
        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;
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #21
0
        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;
        }
Пример #22
0
        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);
        }
Пример #23
0
        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);
        }
Пример #24
0
        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);
        }
Пример #25
0
        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;
        }
Пример #26
0
        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);
        }
Пример #27
0
        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;
        }
Пример #28
0
        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);
        }
Пример #29
0
        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;
        }
Пример #30
0
        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);
        }
Пример #31
0
        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;
        }
Пример #32
0
        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;
        }
Пример #33
0
        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);
        }
Пример #34
0
        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;
        }
Пример #35
0
        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;
        }
Пример #36
0
        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);
        }
Пример #37
0
        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
        }
Пример #38
0
        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);
        }
Пример #39
0
        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);
        }
Пример #40
0
        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);
        }
Пример #41
0
        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;
        }
Пример #42
0
        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();
                }
            }
        }
Пример #43
0
        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;
        }
Пример #44
0
        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;
        }
Пример #45
0
        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;
        }
Пример #46
0
        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);
        }
Пример #47
0
        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;
        }
Пример #48
0
        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);
        }
Пример #49
0
        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;
        }
Пример #50
0
        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);
        }
Пример #51
0
        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;
        }
Пример #52
0
        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);
        }
Пример #53
0
        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;
        }
Пример #54
0
        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;
        }
Пример #55
0
        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;
        }
Пример #56
0
        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);
        }
Пример #57
0
        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;
        }
Пример #58
0
        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;
        }
Пример #59
0
        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;
        }
Пример #60
0
        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);
        }