public string SetEntry(SugarEntry entry)
    {
        var valueArray = new name_value[entry.Count];
        int i          = 0;

        foreach (var sugarEntry in entry)
        {
            valueArray[i]       = new name_value();
            valueArray[i].name  = sugarEntry.Key;
            valueArray[i].value = sugarEntry.Value;
            i++;
        }
        set_entry_result result = _sugarsoap.set_entry(_session, entry.Module, valueArray);

        VerifySugarResult.Verify(result.error);
        return(result.id);
    }
 public string SetEntry(SugarEntry entry)
 {
     var valueArray = new name_value[entry.Count];
     int i = 0;
     foreach (var sugarEntry in entry)
     {
         valueArray[i] = new name_value();
         valueArray[i].name = sugarEntry.Key;
         valueArray[i].value = sugarEntry.Value;
         i++;
     }
     set_entry_result result = _sugarsoap.set_entry(_session, entry.Module, valueArray);
     VerifySugarResult.Verify(result.error);
     return result.id;
 }
Exemple #3
0
 private Guid FindID(name_value[] name_value_list)
 {
     Guid gID = Guid.Empty;
     for ( int j = 0; j < name_value_list.Length; j++ )
     {
         if ( String.Compare(name_value_list[j].name, "id", true) == 0 )
         {
             gID = Sql.ToGuid(name_value_list[j].value);
             break;
         }
     }
     return gID;
 }
Exemple #4
0
 private string EntryDateTime(name_value[] name_value_list, string sDateField, string sTimeField)
 {
     string sDateTime = String.Empty;
     string sDate     = String.Empty;
     string sTime     = String.Empty;
     for ( int j = 0; j < name_value_list.Length; j++ )
     {
         if ( String.Compare(name_value_list[j].name, sDateField, true) == 0 )
             sDate = name_value_list[j].value;
         if ( String.Compare(name_value_list[j].name, sTimeField, true) == 0 )
             sTime = name_value_list[j].value;
     }
     sDateTime = sDate + " " + sTime;
     return sDateTime;
 }
Exemple #5
0
 private bool DeleteEntry(name_value[] name_value_list)
 {
     bool bDelete = false;
     for ( int j = 0; j < name_value_list.Length; j++ )
     {
         if ( String.Compare(name_value_list[j].name, "deleted", true) == 0 )
         {
             if ( name_value_list[j].value == "1" )
                 bDelete = true;
         }
     }
     return bDelete;
 }
Exemple #6
0
 public error_value update_portal_user(string session, string portal_name, name_value[] name_value_list)
 {
     Guid gUSER_ID = GetSessionUserID(session);
     if ( gUSER_ID != Guid.Empty )
     {
         throw(new Exception("Method not implemented."));
     }
     return null;
 }
Exemple #7
0
        public set_entry_result set_entry(string session, string module_name, name_value[] name_value_list)
        {
            Guid gUSER_ID  = GetSessionUserID(session);
            Guid gTIMEZONE = Sql.ToGuid(HttpContext.Current.Cache.Get("soap.user.timezone." + gUSER_ID.ToString()));
            TimeZone T10n = TimeZone.CreateTimeZone(gTIMEZONE);

            string sTABLE_NAME = VerifyModuleName(module_name);
            int nACLACCESS = Security.GetUserAccess(module_name, "edit");
            if ( nACLACCESS < 0 )
            {
                L10N L10n = new L10N("en-US");
                throw(new Exception(L10n.Term("ACL.LBL_INSUFFICIENT_ACCESS")));
            }

            set_entry_result results = new set_entry_result();

            DbProviderFactory dbf = DbProviderFactories.GetFactory();
            using ( IDbConnection con = dbf.CreateConnection() )
            {
                con.Open();
                // 02/21/2006 Paul.  Delete operations come in as set_entry with deleted = 1.
                if ( DeleteEntry(name_value_list) )
                {
                    IDbCommand cmdDelete = SqlProcs.Factory(con, "sp" + sTABLE_NAME + "_Delete");
                    // 10/10/2006 Paul.  Use IDbDataParameter to be consistent.
                    foreach(IDbDataParameter par in cmdDelete.Parameters)
                    {
                        par.Value = DBNull.Value;
                    }
                    Sql.SetParameter(cmdDelete, "@MODIFIED_USER_ID", gUSER_ID.ToString());
                    Guid gID = FindID(name_value_list);
                    if ( gID != Guid.Empty )
                    {
                        Sql.SetParameter(cmdDelete, "@ID", gID.ToString());
                        cmdDelete.ExecuteNonQuery();
                    }
                }
                else
                {
                    IDbCommand cmdUpdate = SqlProcs.Factory(con, "sp" + sTABLE_NAME + "_Update");
                    IDbDataParameter parID = Sql.FindParameter(cmdUpdate, "@ID");
                    // 10/10/2006 Paul.  Use IDbDataParameter to be consistent.
                    foreach(IDbDataParameter par in cmdUpdate.Parameters)
                    {
                        par.Value = DBNull.Value;
                    }
                    // 08/31/2006 Paul.  We need to initialize the values of any fields not provided.
                    // The stored procedure always updates all fields, so we need to make sure not to clear fields that are not provided.
                    // This problem was first noticed when the Outlook Plug-in kept clearing the ASSIGNED_USER_ID field.
                    Guid gID = FindID(name_value_list);
                    if ( gID != Guid.Empty )
                    {
                        // 08/31/2006 Paul.  If the ID is not found, then this must be a new
                        InitializeParameters(con, sTABLE_NAME, gID, cmdUpdate);
                    }
                    Sql.SetParameter(cmdUpdate, "@MODIFIED_USER_ID", gUSER_ID.ToString());

                    for ( int j = 0; j < name_value_list.Length; j++ )
                    {
                        // 04/04/2006 Paul.  DATE_START & TIME_START need to be combined into DATE_TIME.
                        if ( name_value_list[j].name.ToUpper() == "TIME_START" )
                        {
                            // 04/04/2006 Paul.  Modules that have a TIME_START field are MEETINGS, CALLS, TASKS, EMAILS, EMAIL_MARKETING, PROJECT_TASK
                            string sDateTime = EntryDateTime(name_value_list, "DATE_START", "TIME_START");
                            if ( sTABLE_NAME == "TASKS" || sTABLE_NAME == "PROJECT_TASK" )
                            {
                                Sql.SetParameter(cmdUpdate, "@DATE_TIME_START", T10n.ToServerTimeFromUniversalTime(sDateTime));
                            }
                            else
                            {
                                Sql.SetParameter(cmdUpdate, "@DATE_TIME", T10n.ToServerTimeFromUniversalTime(sDateTime));
                            }
                        }
                        // 04/04/2006 Paul.  DATE_DUE & TIME_DUE need to be combined into DATE_TIME_DUE.
                        else if ( name_value_list[j].name.ToUpper() == "TIME_DUE" )
                        {
                            // 04/04/2006 Paul.  Modules that have a TIME_DUE field are TASKS, PROJECT_TASK
                            string sDateTime = EntryDateTime(name_value_list, "DATE_DUE", "TIME_DUE");
                            Sql.SetParameter(cmdUpdate, "@DATE_TIME_DUE", T10n.ToServerTimeFromUniversalTime(sDateTime));
                        }
                        else
                        {
                            Sql.SetParameter(cmdUpdate, "@" + name_value_list[j].name, name_value_list[j].value);
                        }
                    }
                    cmdUpdate.ExecuteNonQuery();

                    if ( parID != null )
                    {
                        results.id = Sql.ToString(parID.Value);
                    }
                }
            }
            return results;
        }
Exemple #8
0
 public error_value update_portal_user(string session, string portal_name, name_value[] name_value_list)
 {
     object[] results = this.Invoke("update_portal_user", new object[] {
                 session,
                 portal_name,
                 name_value_list});
     return ((error_value)(results[0]));
 }
Exemple #9
0
 public set_entry_result set_entry(string session, string module_name, name_value[] name_value_list)
 {
     object[] results = this.Invoke("set_entry", new object[] {
                 session,
                 module_name,
                 name_value_list});
     return ((set_entry_result)(results[0]));
 }
Exemple #10
0
 public set_entries_detail_result set_entries_details(string session, string module_name, name_value[][] name_value_lists, string[] select_fields)
 {
     object[] results = this.Invoke("set_entries_details", new object[] {
                 session,
                 module_name,
                 name_value_lists,
                 select_fields});
     return ((set_entries_detail_result)(results[0]));
 }